找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 13065|回复: 5

[文件操作] [已解决]如何读取EXCEL里的信息给文件夹添加上?

[复制链接]
发表于 2024-8-5 18:35:58 | 显示全部楼层 |阅读模式
本帖最后由 liaoguinan 于 2024-8-5 23:45 编辑



如何读取表格里的数据,按表格顺序给文件夹添加添加后缀中文文字,表格里的文字不固定,且文字前面有个空格

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2024-8-5 21:09:13 | 显示全部楼层
回复 1# liaoguinan


   
 楼主| 发表于 2024-8-5 21:20:04 | 显示全部楼层
回复 2# ppll2030


    这个方法我知道,有没有办法直接读取表格信息直接就填上?
发表于 2024-8-5 21:20:37 | 显示全部楼层
本帖最后由 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 列表排序)一致...

  1. @set @v=1 /* &echo off &set "xF=%cd%\1.xls"
  2. dir /b/ad|cscript /nologo /e:jscript "%~f0" "%xF%"
  3. if exist "0.tmp" for /f "tokens=1-2 delims=/" %%a in (0.tmp) do ren "%%~fa" "%%b"
  4. 2>nul del/q "0.tmp"&pause&exit/b */
  5. v=WSH.arguments, ws=WSH.stdin, oExcel=WSH.CreateObject('excel.application');
  6. oxF=oExcel.workbooks.Open(v(0)), oSheet=oxF.sheets('sheet1'), lines='', n=0;
  7. while (!ws.atendofstream) {
  8.         pF=ws.readline(), xv=oSheet.cells(++n,1).text;
  9.         if (!!xv) lines+=pF+'/'+pF+xv+'\n';
  10. }
  11. if (lines=='') WSH.quit();
  12. oxF.close(), oExcel.quit(), fso=WSH.createObject('Scripting.FileSystemObject');
  13. fp=fso.OpenTextFile('0.tmp',2,true), fp.write(lines.slice(0,-1)), fp.close(), WSH.quit();
复制代码

评分

参与人数 1技术 +1 收起 理由
liaoguinan + 1 厉害

查看全部评分

 楼主| 发表于 2024-8-5 21:35:26 | 显示全部楼层
回复 4# aloha20200628


    代码可行,有一点问题就是如果表格里只有三行数据的话,实际有4个文件夹第四个文件夹会加1000-0001-4undefined这样的后缀,能否改成表格有多少行数据,就改多少的文件夹?
发表于 2024-8-5 22:36:32 | 显示全部楼层
回复 5# liaoguinan

4楼代码已订正,再试试吧...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 22:07 , Processed in 0.019556 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表