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

[文件操作] 批处理如何对应表格批量修改文件夹名称?

图片
bat小白,请多指教!谢谢!

TOP

表格是什么格式的?
bat小白,请多指教!谢谢!

TOP

回复 3# 77七


    图中有sheet1,应该是excel

QQ 20147578

TOP

  1. @echo off
  2. rem 将表格复制到 1.txt 文本中
  3. for /f "useback tokens=1-2" %%a in ("1.txt") do (
  4. if exist "%%a" ren "%%a" "%%a_1"
  5. )
  6. for /f "useback tokens=1-2" %%a in ("1.txt") do (
  7. if exist "%%a_1" ren "%%a_1" "%%b"
  8. )
  9. pause
复制代码
使用前先测试一下!
bat小白,请多指教!谢谢!

TOP

回复 1# 脑袋大


打开你的Excel表格,另存为 1.csv,放在待处理的文件夹同一个目录下。

请参考Q-04把test.bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "skip=1 tokens=1-2 delims=," %%i in ('type "1.csv"') do (
  4.     if exist "%%i" (
  5.         ren "%%i" "%%j"
  6.     )
  7. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 Five66 于 2023-8-30 03:46 编辑

表格需要为microsoft office的xlsx
将表格改名为book1.xlsx
然后跟批处理一起放到需要改名的目录下运行
还有启动excel时间过长时代码可能出错,建议先启动一次excel然后立马关闭
改名时时表格里对不上可能会出现奇怪问题
  1. @set @theCopyLeft=0;/*&echo off&pause
  2. rem 将表格改名为book1.xlsx然后跟 批处理一起放到需要的目录下运行
  3. set ttm=the-%date:~0,10%-temp
  4. set ttm=%ttm:/=-%
  5. md %ttm%
  6. if %errorlevel% EQU 1 echo can not create temp folder&exit /b
  7. for /f "skip=1 tokens=1,2 delims=/ " %%i in ('cscript //nologo //e:jscript "%~f0"') do (
  8. if exist "%%i" move "%%i" "%ttm%\%%j" 1>nul
  9. )
  10. for /d %%i in (*) do if "%%i" NEQ "%ttm%" rename "%%i" "___%%i"
  11. for /d %%i in ("%ttm%\*") do (1>nul move "%%i" .)
  12. rmdir %ttm%
  13. pause &exit/b
  14. rem */
  15. var thefile="book1.xlsx";
  16. var eee=new ActiveXObject("excel.application");
  17. var thepath=WScript.ScriptFullName.split("\\");
  18. thepath.pop();
  19. thepath=thepath.join("\\")+"\\";
  20. var wb=eee.Workbooks.Open(thepath+thefile);
  21. var sheet=wb.ActiveSheet;
  22. var a,b,i=1;
  23. while(1){
  24. a=sheet.Range("A"+i).text;
  25. b=sheet.Range("B"+i).text;
  26. if(!a || !b){break;}
  27. WScript.Echo(a,"/",b);
  28. i+=1;
  29. }
  30. wb.Close();
  31. eee.Quit();
复制代码
还有为啥这个帖子是倒序的?

TOP

本帖最后由 Nsqs 于 2023-8-31 08:20 编辑
  1. $path='某路径'
  2. # 不指定路径将以当前路径修改为准
  3. if (!(Test-Path $path -PathType Container)){$path=$PSScriptRoot}
  4. cd $path
  5. $data=Import-Excel '某.xlsx' -DataOnly -HeaderName A,B
  6. $data|?{$_.A -ne $null}|%{ren $_.A $_.B}
复制代码
用PowerShell的excel库实现

TOP

返回列表