我正在使用批处理文件(命名为 folder.bat)为“我的文件夹”下的每个文件夹名称添加字符串“_v0_1”(“我的文件夹”下有大约 100 个文件夹)
我正在从包含此行的另一个批处理文件中调用我的批处理(folder.bat)(例如):
调用文件夹 arbiter_logic
调用文件夹 arbiter_logic_old
问题是,当文件夹名称长于变量名称(%1)并且我想避免它时,批量重命名文件夹也是如此。
我希望仅当变量 %1 和文件夹名称完全匹配时才会执行重命名操作。这是我的代码:
setlocal enabledelayedexpansion
pushd G:\my folder
for /f "tokens=* delims= " %%a in ('dir /b/ad') do (
set x=%%a
set y=!x:%1=%1_v0_1!
ren !x! !y!
)
::==
cd..
目前不想要的结果是:
arbiter_logic_v0_1
arbiter_logic_v0_1_old_v0_1
并且想要的结果是批处理将更改文件夹名称,如下所示:
arbiter_logic_v0_1
arbiter_logic_old_v0_1
我假设需要在文件夹名称中应用搜索和替换方法,但我不知道该怎么做。
如果批处理文件不起作用,vb 脚本也将是一个合适的解决方案。
提前致谢。谢伊。