Windows Dir是通过cmd中的命令删除的,但与bat文件中的命令不同
我正在尝试删除一个目录,该目录与某个前缀匹配 我希望通过调用一些bat文件可以实现 将(C:\Windows\Temp\\u-MEI*)中的/D%f直接写入rmdir/s%f会删除与前缀匹配的每个文件夹 尽管如此,调用上面只有命令行的Windows Dir是通过cmd中的命令删除的,但与bat文件中的命令不同,windows,batch-file,cmd,Windows,Batch File,Cmd,我正在尝试删除一个目录,该目录与某个前缀匹配 我希望通过调用一些bat文件可以实现 将(C:\Windows\Temp\\u-MEI*)中的/D%f直接写入rmdir/s%f会删除与前缀匹配的每个文件夹 尽管如此,调用上面只有命令行的test.bat根本不起任何作用,我得到了“……此时出乎意料”的错误 为什么会这样?请参见: 语法 用于()do[]中的{%%|%} 参数 参数说明 {%%|%}必需。表示可替换的参数。使用单个百分号(%)在命令提示下执行for命令。使用双百分号(%)在批处理文件
test.bat
根本不起任何作用,我得到了“……此时出乎意料”的错误
为什么会这样?请参见:
语法
用于()do[]中的{%%|%}
参数
参数说明
{%%|%}
必需。表示可替换的参数。使用单个百分号(%)在命令提示下执行for命令。使用双百分号(%)在批处理文件中执行for命令。变量区分大小写,必须用字母值表示,如%A、%%B或%C
或者在命令提示下运行以获取/?
基本上,在批处理文件中使用
%%f
而不是%f
使用%%
。使用批处理文件有点新。你能详细说明一下吗?与其使用%%
不如使用%%
,For/D
不会列出所有目录,而要删除它列出的所有目录(并且你有足够的特权),你通常会在批处理文件中使用%f“
或“%f”
,这将解释那些包含有问题字符的字符。您可以通过阅读for
命令的帮助文件的前8行来解决您自己的问题。
C:\Users\Borat\olympus-skeleton\dist>test.bat
\Windows\Temp\_MEI*) was unexpected at this time.
C:\Users\Borat\olympus-skeleton\dist>for /D \Windows\Temp\_MEI*) do rmdir /s f
C:\Users\Borat\olympus-skeleton\dist>
for {%%|%}<Variable> in (<Set>) do <Command> [<CommandLineOptions>]