【问题标题】:What is wrong with this batch command?这个批处理命令有什么问题?
【发布时间】:2014-10-26 18:36:02
【问题描述】:

所以在 Utorrent 网站上,它说我们可以重命名未完成的比特彗星文件并删除 .bc!使用此批处理命令进行扩展。但这似乎对我不起作用。

@for /r %i in (*.bc!) do @move "%~fi" "%~dpni"

我收到此错误:

The following usage of the path operator in
substitution is invalid: %~dpni"

For valid formats type CALL /? or FOR /?
rename.bat was unexpected at this time.

其他人报告说它成功了,这让我很沮丧。我正在使用 Windows 7 家庭高级版 x64

【问题讨论】:

    标签: windows batch-file rename batch-rename


    【解决方案1】:

    在批处理文件中,您必须将所有%in FORparameters 替换为%%

    @for /r %%i in (*.bc!) do @move "%%~fi" "%%~dpni"
    

    【讨论】:

    • 哦,效果很好!非常感谢!我想知道他们为什么这样发布它?干杯!
    • 其实不知道有没有办法让它也检查子文件夹?
    • @true_blue1878 :假设该命令将直接从提示符执行。只有在批处理文件中才需要 %-加倍。批处理文件通常以@echo off 行开头,这使得您发布的行中的@s(以及带有双倍-%s 的修改行)变得多余。
    • 我尝试从提示符处执行它,这就是我从中复制错误的地方。但它也不适用于 .bat 文件。有没有办法让它重命名子目录中的适用文件?干杯
    • 您所写的行在命令提示符下确实有效。我的版本在批处理文件中工作。两个处理所有子文件夹中的文件。当然,您必须在要处理的根文件夹中执行它。你可以指定另一个文件夹来处理for /r "c:\other\folder" %%i...
    【解决方案2】:

    在批处理文件中,您必须将所有 %in FORparameters 替换为 %%

    @for /r %%i in (*.bc!) do @move "%%~fi" "%%~dpni"

    另外,确保%%i 必须是%%I(和大写字母),这样可以避免将命令提示符与带有变量名的字符串选项“混淆”(在本例中为%%I

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2018-01-25
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多