1
我必須使用給定的模板顯示文件名。我已經寫了下面的代碼:使用蝙蝠文件
if "%2" == "" (
echo "Missing second argument!"
set /p FileName="Input file name template ('*', '?' are allowed): "
set /p FileType="Input file type ('text', 'bat', 'all' only): "
if FileType == "all" (set FileType = "*")
) else (
set FileType="%2"
)
echo %DirSearch%\%FileName%.%FileType%
for %%i in (%DirSearch%\%FileName%.%FileType%) do (echo "Thats it: %%i")
如果第二個參數是空的,我問用戶對文件名模板,擴展名(如果它等於「所有」我重寫它的值是「*」
現在第一麻煩的是,它沒有將其設置爲改寫後當我把「所有」的「文件類型」仍是「所有」「*」爲什麼
和回聲顯示出來:?
"C:\Folder"\test.all
"Thats it: "C:\Folder"\test.all"
如何在inter把它作爲單一的價值並在for
中使用?
新代碼:
if "%2" == "" (
...
if "%FileType%" == "all" (set FileType=*)
) else (
...
)
set result=%DirSearch%\%FileName%.%FileType%
echo %result%
for %%i in (%result%) do (echo "Thats it: %%i")
// echo %result%:
"C:\Data\test"\test.all
// in for cycle
"Thats it: "C:\Data\test"\test.all"
正確的字符串應該是: 「C:\ DATA \測試\ test.all」
這不會重寫'FileType',如果它仍然是'all'。 – Ockonal
@Ockonal:事實證明'='周圍也不應有空格,我相應地編輯了答案。另外,當*設置*時,你不需要引用值。 – Jon
好的,謝謝,現在它取代它。但是如何爲'for'循環生成正確的字符串? – Ockonal