本帖最后由 aloha20200628 于 2024-8-6 09:48 编辑
回复 1# liaoguinan
以下代码存为 test.bat 置于 1000-0001-1,1000-0001-2 文件夹所在目录(即 1000-0001 目录)下运行,假设目标文件 1.xls 与 test.bat 同目录
假设 1.xls 被读取的数据存储在 sheet1 表格中,其中各行数据排列顺序与对应的更名文件夹名排序(dir /b/ad 列表排序)一致...
- @set @v=1 /* &echo off &set "xF=%cd%\1.xls"
- dir /b/ad|cscript /nologo /e:jscript "%~f0" "%xF%"
- if exist "0.tmp" for /f "tokens=1-2 delims=/" %%a in (0.tmp) do ren "%%~fa" "%%b"
- 2>nul del/q "0.tmp"&pause&exit/b */
- v=WSH.arguments, ws=WSH.stdin, oExcel=WSH.CreateObject('excel.application');
- oxF=oExcel.workbooks.Open(v(0)), oSheet=oxF.sheets('sheet1'), lines='', n=0;
- while (!ws.atendofstream) {
- pF=ws.readline(), xv=oSheet.cells(++n,1).text;
- if (!!xv) lines+=pF+'/'+pF+xv+'\n';
- }
- if (lines=='') WSH.quit();
- oxF.close(), oExcel.quit(), fso=WSH.createObject('Scripting.FileSystemObject');
- fp=fso.OpenTextFile('0.tmp',2,true), fp.write(lines.slice(0,-1)), fp.close(), WSH.quit();
复制代码
|