bat for迴圈
在cmd視窗中:
for %variable in (set) do command [command-parameters]
在批處理檔案中:
for %%variable in (set) do command [command-parameters]
想知道當前目錄下都有哪些檔案嗎?請用下面的**:
@echo offfor %%i in (*.*) do echo "%%i"
pause
想列出當前目錄下所有的文字檔案嗎?請用下面的**
@echo offfor %%i in (*.txt) do echo "%%i"
pause
@echo offfor %%i in (??.txt) do echo "%%i"
pause
(一)為解析文字而生:for /f 的基本用法
for /f 語句是以行為單位處理文字檔案的
for /r 的作用及用法
for /r 目錄 %%i in (元素集合) do 命令語句集合
batファイルで文字列の切り出し
書式意味
%v%変數vの値全體
%v:~m%
m文字目から、最後まで
%v:~m,n%
m文字目から、n文字分
%v:~m,-n%
m文字目から、最後のn文字分を除いたもの
%v:~-m%
後ろからm文字目から、最後まで
%v:~-m,n%
後ろからm文字目から、n文字分
%v:~-m,-n%
後ろからm文字目から、最後のn文字分を除いたもの
%v:c1=c2%
文字c1を文字c2に置換する。それぞれ複數の文字を指定することも可能
詳細はcallコマンドのヘルプを參照するといい。下記callコマンドのhelpより引用。
バッチ パラメーター (%n) の置換は拡張されました。次のオプション構文を使うことができます:
%~1 - すべての引用句 (") を削除して、%1 を展開します。
%~f1 - %1 を完全修飾パス名に展開します。
%~d1 - %1 をドライブ文字だけに展開します。
%~p1 - %1 をパスだけに展開します。
%~n1 - %1 をファイル名だけに展開します。
%~x1 - %1 をファイル拡張子だけに展開します。
%~s1 - 展開されたパスは、短い名前だけを含みます。
%~a1 - %1 をファイル屬性に展開します。
%~t1 - %1 をファイルの日付/時刻に展開します。
%~z1 - %1 をファイルのサイズに展開します。
%~$path:1 - path 環境変數に指定されているディレクトリを検索し、
最初に見つかった完全修飾名に %1 を展開します。
環境変數名が定義されていない場合、または
検索してもファイルが見つからなかった場合は、
この修飾子を指定すると空の文字列に展開されます。
修飾子を組み合わせて、復合結果を得ることもできます:
%~dp1 - %1 をドライブ文字とパスだけに展開します。
%~nx1 - %1 をファイル名と拡張子だけに展開します。
%~dp$path:1 - path 環境変數に指定されているディレクトリを
検索して %1 を探し、最初に見つかったファイル
のドライブ文字とパスだけに展開します。
%~ftza1 - %1 を dir の出力行のように展開します。
BAT批處理指令碼
echo off 與 echo on 前者為關閉回顯,後者為開啟回顯 當不想批處理檔案中的命令一行一行在dos中顯示出來時 因為全部顯示出來的話看起來會變得很雜亂 可以使用 echo off,將其放於程式的最上方就行了。先不把回顯關閉,執行乙個小的bat檔案,為 echo off title a c...
bat批處理指令碼程式設計
1 宣告變數 注意 前後不要留空格。隨便說一下,在bat中,連續兩個冒號表示注釋 set var1 test 如果要引用這個變數的話,可以這樣寫 var1 2 echo off on echo off 表示關閉echo列印命令 echo on表示開啟echo列印命令 舉例 echo hello wo...
Windows批處理BAT指令碼
2 echo和 字元放在命令前將關閉命令回顯,無論是否為開啟狀態。開啟或關閉回顯 echo 輸出資訊 echo string 3 pause 玩遊戲的都知道,暫停的意思。顯示其他提示語 echo string pause nul 4 errorlevel 返回程式碼 echo errorlevel ...