使用批处理文件提取字符串的变量部分以用于重命名 txt 文件
我使用批处理文件来处理名称格式为:CLL*1.txt、CLLM*2.txt 的文本文件,位于特定的“下载”文件夹中。所有文件都包含以下形式的字符串: “文件引用:0xxxx”,其中 xxxx 是唯一的数字标识符。
我正在尝试使用以下脚本将文件重命名为 CLL*xxxx.txt (其中 xxxx 替换整数后缀),但没有取得多大成功。有人可以帮忙吗?:
set target="S:\download\"
SetLocal EnableDelayedExpansion enableextensions
for /f "usebackq tokens=2 delims=:" %%i IN (`findstr /b "File Reference :" %target%CLL*.txt`) do (
ren %target%CLL*.txt CLL*%%i.txt
)
Endlocal
I'm using batch files to process text files with names of the form: CLL*1.txt, CLLM*2.txt located in a specific "download" folder. All files contain a string of the form:
"File Reference : 0xxxx", where xxxx is a unique numerical identifier.
I am trying, without much success, to use the following script to rename the file to CLL*xxxx.txt (where xxxx replaces the integer suffix). Can anyone help?:
set target="S:\download\"
SetLocal EnableDelayedExpansion enableextensions
for /f "usebackq tokens=2 delims=:" %%i IN (`findstr /b "File Reference :" %target%CLL*.txt`) do (
ren %target%CLL*.txt CLL*%%i.txt
)
Endlocal
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
findstr
不会向您返回任何单个值。它只会搜索一个字符串并返回整行。尝试将此 vbscript保存为
myscript.vbs
并运行它findstr
will not return any single values to you. It will only search for a string and return the whole line. try this vbscriptsave as
myscript.vbs
and run it