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

批处理如何根据excel表格的内容批量修改文件名?6楼有新的总结

改名前文件名:
AD1011奥迪车.DSN
AD1011-G1101-AA.DSN
AD1011-G1101-AA-118-主副背料-四向-749.dxf
AD1011-G1101-AA-118-主副背料-四向-(12345)-749.dxf
改名后文件名:
AD1011T奥迪车.DSN
AD1011T-G1101-AA.DSN
AD1011T-G1101-AA-118-主副背料-四向-749.dxf
AD1011T-G1101-AA-118-主副背料-四向-(12345)-749.dxf

需要改的名字全部在一个表格中,现在能不能用批处理调用表格改名。一个个改的软件我有!
麻烦各位大仙大神了。

TOP

用ren命令怎么改,有包括子文件夹

TOP

txt不好?

水一发,读取表格内容
  1. /*&cls
  2. @echo off
  3. ::设置表格路径
  4. set "xlsfile=D:\改名.xls"
  5. cscript -nologo -e:jscript "%~f0" "%xlsfile%"
  6. pause&exit
  7. */
  8. var objExcel = new ActiveXObject('Excel.Application');
  9. var objBook = objExcel.Workbooks.open(WScript.Arguments(0));
  10. objBook.worksheets(1).activate;   //设置Sheet1为活动工作表
  11. var objSheet = objBook.activeSheet;
  12. var cnt = objSheet.usedrange.rows.count;
  13. for(var i = 2; i<=cnt; i++) {   //从第2行开始
  14.     var A= objSheet.Cells(i, 1).value;  //A列
  15.     var B= objSheet.Cells(i, 2).value;  //B列
  16.     WSH.echo(A+' --> '+B);
  17. }
  18. objBook.Close();
  19. objExcel.Quit();
复制代码

TOP

来个第三方
ren2 -f -r "(AD1011)([^T].*)" "$1T$2"

TOP

回复 4# pcl_test


    二种方法表示都不行。

TOP

[文件操作] 批处理如何根据excel表格的内容批量修改文件名

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /a-d/b/s/q *.*') do (
  4.     set "var=%%~na"
  5.     set newn=!var:AD1011=AD1011T!
  6.     ren "%%a" "!newn!%%~xa"
  7. )
  8. for /f "delims=" %%a in ('dir /a-d/b/s/q  *.*') do (
  9.     set "var=%%~na"
  10.     set newn=!var:AD1012=AD1012T!
  11.     ren "%%a" "!newn!%%~xa"
  12. )
  13. for /f "delims=" %%a in ('dir /a-d/b/s/q  *.*') do (
  14.     set "var=%%~na"
  15.     set newn=!var:AD1013=AD1013T!
  16.     ren "%%a" "!newn!%%~xa"
  17. )
  18. echo end...
  19. pause
复制代码
已有代码,我需要改的名字有5000个左右,所有包含子目录有17000个文件夹,400W文件,求优化。上面这个代码把5000个左右的文件都填,有这么多的文件夹,扫描就卡死了。
求个方便处理的程序。
这是一部分文件名

只想说,假设已有一个文件名为AD1011Txxxxx,你6楼的代码没做筛选,那么改名后就是AD1011TTxxxxx了

TOP

可以考虑把excel转成CSV文件。批处理读取csv方便。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

TOP

回复 7# pcl_test


    是的,我后来全部加了“-”

TOP

回复 9# CrLf


   
  1. c:\>excel /?
  2. This program needs Java to run.
  3. Please download it at http://www.java.com
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表