set /p drive=Choose the letter of usb: if %drive%== E goto E
例子(如果你selectE)
E: del /f /q E:\*.lnk *.inf *.init
但是只能删除第一个(* .lnk)。 其余的redirect到驱动器C(我执行批处理)例如:
Can't find C:\*.inf
我不想这样做:
del /f /q E:\*.lnk del /f /q E:\*.inf del /f /q E:\*.init
如何解决它? 谢谢
你可以很快的解决这个问题,就像前面的其他扩展名一样:
del /f /q E:\*.lnk E:\*.inf E:\*.init
真的,而不是手动为每个驱动器创build一个块,你可以使用你的variables在这里为你做的工作:
set /p drive=Choose the letter of usb: del /f /q %drive%:\*.lnk %drive%:\*.inf %drive%:\*.init
塔兹,我会借用你的答案来展示完整的例子。
:TOP set /p drive=Choose the letter of usb: If "%drive%" EQU "" Goto :TOP Set drive=%drive:~0,1% del /f/q/s/a %drive%:\*.lnk %drive%:\*.inf %drive%:\*.init
只接受input的第一个字符并检查没有input。
/s将从给定的path开始对所有子文件夹中的文件执行检查。 /a将删除所有文件,即使它们被隐藏。 不是100%确定只读文件虽然…
引号"不用于参数,因为唯一的用户提供的数据是单个字母,并且在预先写入的参数中没有空格。