我想替换现有文件名的某些部分。 这里的分隔符是“_”
说文件名是:test_two.txt
要替换的文件名部分是在这里测试:
所以新名称将是:Pass_two.txt
我已经写了下面的内容来实现:
for %%f in ("C:\Test_bat\rename file part\*.txt") do (
echo "%%~nxf"
SET FNAME="%%~nxf"
)
for /f "tokens=1,* delims=_" %%a in (%FNAME%) do (
echo %%b
echo %%~xb
**-- not sure why i am not getting anything in %%b**
)
通过windows命令执行上述代码段时,我面临以下问题:
做(此时出乎意料
==========更新解决方案===
我错过了下面的引号 for / f“tokens = 1,* delims = _”%% a in(“%FNAME%”)
答案 0 :(得分:0)
这是实现目标的一种方法。 (最常见的方法是使用for循环并使用 _
分隔符进行标记)
@Echo Off
For %%A In ("C:\Test_bat\rename file part\*_*.txt") Do (Set "_=%%A"
SetLocal EnableDelayedExpansion
Ren "%%A" "part_!_:*_=!"
EndLocal)