标题: [文件操作] [已解决]如何读取EXCEL里的信息给文件夹添加上? [打印本页]
作者: liaoguinan 时间: 2024-8-5 18:35 标题: [已解决]如何读取EXCEL里的信息给文件夹添加上?
本帖最后由 liaoguinan 于 2024-8-5 23:45 编辑
如何读取表格里的数据,按表格顺序给文件夹添加添加后缀中文文字,表格里的文字不固定,且文字前面有个空格
作者: ppll2030 时间: 2024-8-5 21:09
回复 1# liaoguinan
作者: liaoguinan 时间: 2024-8-5 21:20
回复 2# ppll2030
这个方法我知道,有没有办法直接读取表格信息直接就填上?
作者: aloha20200628 时间: 2024-8-5 21:20
本帖最后由 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();
复制代码
作者: liaoguinan 时间: 2024-8-5 21:35
回复 4# aloha20200628
代码可行,有一点问题就是如果表格里只有三行数据的话,实际有4个文件夹第四个文件夹会加1000-0001-4undefined这样的后缀,能否改成表格有多少行数据,就改多少的文件夹?
作者: aloha20200628 时间: 2024-8-5 22:36
回复 5# liaoguinan
4楼代码已订正,再试试吧...
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |