windows bat命令
windows bat
1. delims
用在for命令的引數f語句中,“for /f”用於解析字串。
比如有檔案”musci list.txt”:
序號、歌手名-歌曲名.字尾名
1、饒天亮-玫瑰愛人.wma
2、高一首-我不願錯過.mp3
3、黃凱芹-傷感的戀人.MP3
4、黃燦-黃玫瑰.lrc
5、黎姿-如此這般的愛情故事.mp3
code1: print all content
for /f %%i in (music list.txt) do echo %%i
code2: print fileName:
for %%i in (musci list.txt) do echo %%i
==> so, /f is used to parse fileName.
在http://www.jb51.net/article/17927.htm中,作者寫的很形象生動,把delims表示為切蛋糕的好工具。
程式碼2:預設提取第一列
for /f "delims=、" %%i in (歌曲列表.txt) do echo %%i
pause
執行結果:
序號
1
2
3
4
5
2、 %cd% and %~dp0
cd is a DOS command, for example, if the .bat file in dir of D:\test.bat; if using %cd% in E:,then it print E: if using %~dp0 in E: then it print D:; while if executed in D,it both print D: 所以,就是說,cd是當前執行的目錄,而~dp0表示bat檔案所在的目錄
3、 example:
想要遍歷某個資料夾,獲取到資料夾下面的檔名稱,然後開始執行exe,傳檔名稱給可執行程式;
set path=C:\Users\demo\content\
for /f “delims=” %%a in (‘dir /b/a-d/oN %path%’) do (
start deep_image_analogy.exe ../models/ ../demo/%%a ../demo/style.png ../demo/%%a/ 0 0.5 2 0)pause
獲取某個目錄下面檔案的名稱
@echo offfor /f “delims=” %%a in (‘dir /b/a-d/oN .
pause
其中@echo off 表示不需要輸出內容; pause表示不要視窗一閃而過;
- dir 可以檢視dos下面dir的具體用法