我有一个我正在处理的批处理文件,它将接受用户输入并根据该输入信息执行操作。我的问题是,我不是一遍又一遍地运行文件而是逐个放入文件类型,而是如何将其写入用户可以放入多个选项的位置。 (file1,file2,file3)。这就是现在的样子:
set /p FileType=Enter file type here: (this is where I would like the user to be able to put in more than just one file type if needed.)
谢谢!
答案 0 :(得分:0)
您可以编写一个解析用户输入的循环。这是一种方法:
set /p "FileType=Enter file type(s) here (ex: txt, pdf, docx): "
for /f "tokens=1-3 delims=, " %%A in ("%FileType%") do (
set ftA=%%A
set ftB=%%B
set ftC=%%C
)
dir *.%ftA% *.%ftB% *.%ftC%
这有其局限性。它主要是可扩展性不高。您必须在代码中添加其他变量(ftD,ftE等)才能处理3个以上的参数。此外,如上所述,如果给出的参数少于3个,则仍然设置其余变量,但是具有空白值。这意味着您必须先检查变量是否具有值(if not "%ftC%"==""
),然后才能可靠地使用它。
如果你不需要实际传递用户输入作为变量供以后使用,你可以像@SomethingDark建议的那样直接循环用户输入。
set /p "FileType=Enter file type(s) here (ex: txt pdf docx): "
for %%A in (%FileType%) do (dir *.%%A)