[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样修改文件名?

原文件名为123.txt
批处理代码
set 3ou=188
如何将上面的188添加到文件名里?也就是修改文件名为原文件名+188
如果set 3ou=38,那么就修改文件名为原文件名+38
处理后的文件名为:123-188.txt
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

没看懂什么意思
set 3ou=188 & ren "%~f0" "!3ou!"

TOP

set 3ou=188
ren "%~f1" "%~n1-%3ou%%~x1"
解释执行的脚本语言与编译语言还是有很大差别的。。。

TOP

  1. @echo off
  2. set h=hello
  3. for /f "delims=" %%i in ('dir /s /b c:\hello') do ren "%%~fi" "%%~ni-%h%%%~xi"
  4. pause>nul
复制代码
rem 这里我有个小问题,dir /b 不加/s以上代码就会出错——系统找不到文件。
这是为什么,按道理%%~fi就会给出完全路径,而且不加/s时我用echo显示,显示的也是完全路径,但是用ren改名就提示错误,实在想不通。

TOP

来一个全新的思路,速度很快,但不直接支持子目录
  1. @echo off
  2. set /p 3ou=请输入后缀
  3. ren *.txt ??????????????????????????????????????????-
  4. ren *- *%3ou%.txt
复制代码
1

评分人数

TOP

返回列表