标题: [文件操作] 批处理如何对应表格批量修改文件夹名称? [打印本页]
作者: 脑袋大 时间: 2023-8-29 18:33 标题: 批处理如何对应表格批量修改文件夹名称?
作者: 77七 时间: 2023-8-29 20:51
图片
作者: 77七 时间: 2023-8-29 20:57
表格是什么格式的?
作者: czjt1234 时间: 2023-8-29 21:09
回复 3# 77七
图中有sheet1,应该是excel
作者: 77七 时间: 2023-8-29 21:41
- @echo off
- rem 将表格复制到 1.txt 文本中
- for /f "useback tokens=1-2" %%a in ("1.txt") do (
- if exist "%%a" ren "%%a" "%%a_1"
- )
- for /f "useback tokens=1-2" %%a in ("1.txt") do (
- if exist "%%a_1" ren "%%a_1" "%%b"
- )
- pause
复制代码
使用前先测试一下!
作者: Batcher 时间: 2023-8-29 22:16
回复 1# 脑袋大
打开你的Excel表格,另存为 1.csv,放在待处理的文件夹同一个目录下。
请参考Q-04把test.bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA- @echo off
- cd /d "%~dp0"
- for /f "skip=1 tokens=1-2 delims=," %%i in ('type "1.csv"') do (
- if exist "%%i" (
- ren "%%i" "%%j"
- )
- )
复制代码
作者: Five66 时间: 2023-8-30 02:19
本帖最后由 Five66 于 2023-8-30 03:46 编辑
表格需要为microsoft office的xlsx
将表格改名为book1.xlsx
然后跟批处理一起放到需要改名的目录下运行
还有启动excel时间过长时代码可能出错,建议先启动一次excel然后立马关闭
改名时时表格里对不上可能会出现奇怪问题- @set @theCopyLeft=0;/*&echo off&pause
-
- rem 将表格改名为book1.xlsx然后跟 批处理一起放到需要的目录下运行
-
- set ttm=the-%date:~0,10%-temp
- set ttm=%ttm:/=-%
- md %ttm%
- if %errorlevel% EQU 1 echo can not create temp folder&exit /b
- for /f "skip=1 tokens=1,2 delims=/ " %%i in ('cscript //nologo //e:jscript "%~f0"') do (
- if exist "%%i" move "%%i" "%ttm%\%%j" 1>nul
- )
- for /d %%i in (*) do if "%%i" NEQ "%ttm%" rename "%%i" "___%%i"
- for /d %%i in ("%ttm%\*") do (1>nul move "%%i" .)
- rmdir %ttm%
- pause &exit/b
- rem */
-
- var thefile="book1.xlsx";
- var eee=new ActiveXObject("excel.application");
- var thepath=WScript.ScriptFullName.split("\\");
- thepath.pop();
- thepath=thepath.join("\\")+"\\";
- var wb=eee.Workbooks.Open(thepath+thefile);
- var sheet=wb.ActiveSheet;
- var a,b,i=1;
- while(1){
- a=sheet.Range("A"+i).text;
- b=sheet.Range("B"+i).text;
- if(!a || !b){break;}
- WScript.Echo(a,"/",b);
- i+=1;
- }
- wb.Close();
- eee.Quit();
复制代码
还有为啥这个帖子是倒序的?
作者: Nsqs 时间: 2023-8-31 06:47
本帖最后由 Nsqs 于 2023-8-31 08:20 编辑
- $path='某路径'
- # 不指定路径将以当前路径修改为准
- if (!(Test-Path $path -PathType Container)){$path=$PSScriptRoot}
- cd $path
- $data=Import-Excel '某.xlsx' -DataOnly -HeaderName A,B
- $data|?{$_.A -ne $null}|%{ren $_.A $_.B}
复制代码
用PowerShell的excel库实现
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |