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

[文本处理] 求助批处理批量改名字

建议把分隔符设置为文件名里面不可能出现的字符,例如/
1G7B4581.jpg/2427980005奚子萱
1G7B4554-.JPG /2427980006夏新程
1G7B4556-.JPG /2427980007杨海城
1G7B4532-.JPG /2427980008严嘉睿

2.TXT 和 BAT   都保存为ANSI      2.txt和照片放在同一个目录下
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "tokens=1,2 delims=/" %%a in ('type "2.txt"') do (
  4.     ren "%%a.jpg" "%%b.jpg"
  5. )
复制代码
现在点了不自动换名字 是哪里出错了吗  去年能用

本帖最后由 ppll2030 于 2024-3-4 11:31 编辑

回复 1# daijt


    后缀名重复了。两个方法选其一
1.把txt里面的.JPG都删除;
2.把代码里%%a.jpg的.jpg删除

还有,"/" 分隔符前后不要留空格。

TOP

本帖最后由 daijt 于 2024-3-4 11:37 编辑
回复  daijt


    后缀名重复了。两个方法选其一
1.把txt里面的.JPG都删除;
2.把代码里%%a.jpg的.j ...
ppll2030 发表于 2024-3-4 11:29



    我把txt里面的.JPG都删除   里面也没空格  还是不能    还特地留了一些.jpg  没去掉 都不行

1G7B4493-/2427980002仲子绮
1G7B4524-/2427980003白睿婕
1G7B4574-/2427980004葛晋如
1G7B4581-/2427980005奚子萱
1G7B4554-.jpg/2427980006夏新程

TOP

把你的代码改一下   echo ren……,最后加暂停,看看屏幕显示什么内容,来分析原因。
目的,学习批处理

TOP

回复 4# hlzj88


    加在哪里 我小白,请您加好了发我  谢谢

TOP

  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "tokens=1,2 delims=/" %%a in ('type "2.txt"') do (
  4. echo   ren "%%a.jpg" "%%b.jpg"
  5. )
  6. pause
复制代码
主要观察显示  和你的要求之间的差距是什么,,没有差距就接近胜利
目的,学习批处理

TOP

本帖最后由 daijt 于 2024-3-4 12:04 编辑

回复 6# hlzj88
前面是这样
  ren "1G7B-.jpg" "2427980001王姝雅.jpg"
  ren "1G7B4493-.jpg" "2427980002仲子绮.jpg"
  ren "1G7B4524-.jpg" "2427980003白睿婕.jpg"
  ren "1G7B4574-.jpg" "2427980004葛晋如.jpg"
  ren "1G7B4581-.jpg" "2427980005奚子萱.jpg"
  ren "1G7B4554-.jpg" "2427980006夏新程.jpg"
  ren "1G7B4556-.jpg" "2427980007杨海城.jpg"

   最后面是这样
  ren "1G7B4632-.jpg.jpg" "2427980101祁佳明.jpg"
  ren "1G7B4547-.jpg.jpg" "2427980102刘京元.jpg"
  ren "1G7B4611-.jpg.jpg" "2427980103吴禹桥.jpg"
  ren "1G7B4563-.jpg.jpg" "2427980104丁炜哲.jpg"
  ren "1G7B4631-.jpg.jpg" "2427980105闫旭.jpg"
  ren "1G7B-.jpg.jpg" "2427980146朱珈宜.jpg"
  ren "1G7B-.jpg.jpg" "2427980161徐菲阳.jpg"
  ren "1G7B4520-.jpg.jpg" "2427980166方子妍.jpg"
  ren "1G7B4503-.jpg.jpg" "2427980167严雨锐.jpg"
  ren "1G7B4522-.jpg.jpg" "2427980168钟欣岑.jpg"
  ren "1G7B4502-.jpg.jpg" "2427980169徐子昱.jpg"
  ren "1G7B-.jpg.jpg" "2427980170汪雨嘉.jpg"
  ren "1G7B-.jpg.jpg" "2427980172王子菡.jpg"
请按任意键继续. . .

TOP

回复 3# daijt


    2.txt 和bat文件,还有照片,三者都要放在一个目录下。
还有在代码最后一行,添加“pause”,再运行看看错误提示。
如果是提示找不到文件的,那就自己检查文件名问题:
1.检查txt里文件名是否完整(不包含后缀名),
2.照片后缀名是否还是.jpg 。或是.jpeg等其他格式。然后把代码中的.jpg改为对应格式。

TOP

前面的 应该没问题,后面的%%a 改为%%~na也就是对的,其他建议如8楼
目的,学习批处理

TOP

回复 8# ppll2030


    可以用了 谢谢 这个才对
@echo off
cd /d "%~dp0"
for /f "tokens=1,2 delims=/" %%a in ('type "2.txt"') do (
ren "%%a.jpg" "%%b.jpg"
)

TOP

回复 10# daijt


    看了2遍,和你1楼写的也没看到有啥区别啊

TOP

回复 11# likeyou32


    代码没问题,猜测是他的txt内容格式不对。
测试代码之前请做好备份

TOP

返回列表