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