Bat批處理指令碼

2022-05-18 10:10:15 字數 2095 閱讀 1739

bat for迴圈

在cmd視窗中:

for %variable in (set) do command [command-parameters]

在批處理檔案中:

for %%variable in (set) do command [command-parameters]

想知道當前目錄下都有哪些檔案嗎?請用下面的**:

@echo off

for %%i in (*.*) do echo "%%i"

pause

想列出當前目錄下所有的文字檔案嗎?請用下面的**

@echo off

for %%i in (*.txt) do echo "%%i"

pause

@echo off

for %%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 ...