Batch-File
如何將參數傳遞給bat腳本
請原諒我的新手問題,但自從 autoexec.bat 時代以來,我就不必接觸 bat 腳本了……甚至直接從系統呼叫了那個腳本。
所以我想知道如何將參數傳遞給我的 bat 腳本?
例如,我想創建 n 個具有特定名稱的目錄。我想使用這樣的構造:
for %%N in (1 to $arg1$) do mkdir $arg2$-%%N
結果我想有N個目錄被稱為
- name-1
- name-2
- name-3
… 等等。
謝謝!
它只是 %1 %2 … %n 用於參數 1、參數 2、…、參數
例如看這個。
我這樣做的for循環是這樣的:
FOR %%a IN ("filename1" "filename2" "filename3") DO something %%a -clean Lib -log errors >> logfilename
批處理文件使用位置參數編號(%1、%2、%3)來指示參數。對於您的範例,它將是:
對於 %%N in (1 to %1) do mkdir %2-%%n
這是一個參考指南。
但是你的 for 循環的構造也是不正確的——據我所知,批處理文件中沒有“to”關鍵字。括號中的東西應該是一個集合(例如:1 2 3 4) - 我不確定你是否可以像你想要的那樣循環而不使用標籤和 goto …
這是FOR 命令的語法。
以下是使用標籤和 goto 執行循環的方法——從程序員的角度來看,它並不漂亮——但是批處理文件呢?
set counter=%1 set count=1 :LOOP if %count% GEQ %counter% GOTO END mkdir %2-%count% set /a count = %count% + 1 goto LOOP :END