批量命令' for'不管用

时间:2015-06-10 15:08:58

标签: batch-file command-line

我有以下一行:

for %i in (bin\Setup) do if not %i == setup.exe del %i

这可以假装删除bin\Setup中除 setup.exe 之外的所有文件,但它无效...

关于我做错的任何想法?

1 个答案:

答案 0 :(得分:1)

'http://www.your_domain/current_page.php'

所做的更改:

  • 包含通配符以枚举文件夹中的所有文件。
  • for %i in ("bin\Setup\*") do if /i not "%~nxi"=="setup.exe" echo del "%~fi" 现在不区分大小写(if
  • 引用文件引用以避免空格问题
  • 仅测试文件(/i)的名称和扩展名。您可以执行%~nxi以检索可用修饰符的完整列表。
  • 删除文件使用完整路径(for /?

这是从命令行执行的。在批处理文件中,需要转义百分号,将%~fi替换为%

%%

for %%i in ("bin\Setup\*") do if /i not "%%~nxi"=="setup.exe" echo del "%%~fi" 命令以del为前缀,因此不删除文件,该命令只是回显到控制台。如果输出正确,请删除echo