执行我的 cmd 文件时出现意外的错误变量
Error variable unexpected when executing my cmd file
问题是,当我将此行放入 cmd 文件时,它不起作用,我在命令行上出现错误 window
for /F "tokens=*" %i in (dir /S /B *.log) do del %i
错误:
Unexpected variable i (translated from french because I have french windows)
有什么想法吗?
for /F "tokens=*" %%i in ('dir /S /B *.log') do del "%%i"
^^ ^ ^ ^^^ ^
for
可替换参数中的百分号应在批处理文件中转义,将单个 %
替换为 %%
。
要执行带有 for /f
的命令,您需要用单引号将命令括起来,或者,如果命令本身包含单引号,则使用反引号并包含 usebackq
子句在 for /f
选项中。
最好引用文件引用以避免出现空格或特殊字符问题
反正这个命令可以写成
del /s *.log
而不是对每个文件执行 del
操作。
来自命令行:
for /F "tokens=*" %i in ('dir /S /B *.log') do del "%~i"
或者如果批量使用:
for /F "tokens=*" %%i in ('dir /S /B *.log') do del "%%~i"
解释:
- 用单引号将
dir /S /B *.log
括起来;
- 用双引号将文件名括起来,如下所示
del "%~i"
因为它可以包含空格...
资源(必读):
谢谢大家的帮助。请原谅我迟到的回答。
这是我最终采用的解决方案,感谢@MC ND
del /s *.log
del /s *.log0*
del /s *.tlog
rmdir /S /Q wls-admin\.wlnotdelete
rmdir /S /Q wls-myapp\.wlnotdelete
问题是,当我将此行放入 cmd 文件时,它不起作用,我在命令行上出现错误 window
for /F "tokens=*" %i in (dir /S /B *.log) do del %i
错误:
Unexpected variable i (translated from french because I have french windows)
有什么想法吗?
for /F "tokens=*" %%i in ('dir /S /B *.log') do del "%%i"
^^ ^ ^ ^^^ ^
for
可替换参数中的百分号应在批处理文件中转义,将单个%
替换为%%
。要执行带有
for /f
的命令,您需要用单引号将命令括起来,或者,如果命令本身包含单引号,则使用反引号并包含usebackq
子句在for /f
选项中。最好引用文件引用以避免出现空格或特殊字符问题
反正这个命令可以写成
del /s *.log
而不是对每个文件执行 del
操作。
来自命令行:
for /F "tokens=*" %i in ('dir /S /B *.log') do del "%~i"
或者如果批量使用:
for /F "tokens=*" %%i in ('dir /S /B *.log') do del "%%~i"
解释:
- 用单引号将
dir /S /B *.log
括起来; - 用双引号将文件名括起来,如下所示
del "%~i"
因为它可以包含空格...
资源(必读):
谢谢大家的帮助。请原谅我迟到的回答。
这是我最终采用的解决方案,感谢@MC ND
del /s *.log
del /s *.log0*
del /s *.tlog
rmdir /S /Q wls-admin\.wlnotdelete
rmdir /S /Q wls-myapp\.wlnotdelete