batch-file - 重命名子文件夹中的文件并通过批处理覆盖
问题描述
这是当前代码:
@ECHO OFF
ECHO.
REM rename
REN "H:\DIRECTORY with Space\folder1\*.*" "H:\DIRECTORY with Space\Folder1\TEST_*.*"
ECHO.
DIR nofile || (PAUSE && EXIT /B 1)
我也尝试过 move / y
move /y "H:\DIRECTORY with Space\folder1\*.*" "H:\DIRECTORY with Space\folder1\TEST_*.*"
两者都不起作用(语法错误或找不到目录)。基本上试图用前缀(“Test_”)重命名子文件夹中的所有内容并覆盖任何重复项。
解决方案
试试这个。我已经评论了代码以帮助更好地解释它是如何工作的。
@ECHO OFF
:: Changes to a directory and saves previous directory to go back to
PUSHD "H:\DIRECTORY with Space\folder1\"
:: Critical that you USE this instead of a normal FOR command.
:: A normal FOR command may attempt to rename a file twice.
FOR /F "delims=" %%G IN ('DIR /a-d /b *.*') do rename "%%~G" "TEST_%%~G"
:: Goes back to the previous directory.
POPD
推荐阅读
- c++ - c++ 可变参数模板和模板模板参数:错误:模板参数列表中参数 1 的类型/值不匹配
- javascript - TypeError:无法读取未定义的属性“价格”
- php - 为每个用户将信息提取到 xml 文件中
- reactjs - React - 在组件之间共享数据的最有效方式
- c# - MediaElement.NaturalDuration.TimeSpan 返回错误值
- javascript - 导入/导出声明只能出现在模块的顶层
- javascript - 在 morris.bar 图表中,所有标签都没有显示但是当我放大所有标签时,所有标签都正确显示
- java - 使用数据库时可以使用类型检查代码吗?
- html - 如何禁用 Datalist 上的选项
- reactjs - 如何将孙子数据传递给 GrandParent 组件而不将数据传递给 Reactjs 中的中间组件?