JS宏,这个可能有点难,如何通过宏合并指定路径的文件且复制该文件名称到指定列

请教各位老师大佬,如何通过JS宏实现把指定路径文件夹中所有的文件合并到 一个工作簿中,并且把该工作簿的名称复制到E列中,如表格中所示 “复制过来的数据都在对应的E列中加上原工作簿的名称” PS:所有的工作簿都复制到没有数据的空白行下面,比如说工作簿1 有5行数据,复制到A1到D5,并且把工作簿1的名称复制到E1到E5,工作簿2 有6行数据就复制到A6到D11,同样把名称复制到E6到E11中,以此类推。 谢谢,谢谢,谢谢! 【金山文档 | WPS云文档】 新建 XLS 工作表 https://kdocs.cn/l/cuF0UdNIiJ2j
广东省
浏览 1042
收藏
1
分享
1 +1
14
+1
全部评论 14
 
wils
wils

创作者俱乐部成员

#&cls&powershell "type '%~0'|out-string|iex"&pause&exit dir *.csv | %{ $f = $_.Name gc $_.FullName | %{ $t = $_ -split ',' ($t[0,1,3,12] -join ',') + ",$f" } } | Out-File -Encoding oem out.csv
· 广东省
回复
wils
wils

创作者俱乐部成员

把这一段存入一个文本文件,改名成run.bat,放到包含csv文件的目录里运行
· 海南省
回复
 
学无止境
@echo off setlocal enabledelayedexpansion set "outputFolder=填写输出的路径 set "outputFile=%outputFolder%\AAAA.csv" del /q "%outputFile%" 2>nul for %%f in (*.csv) do ( set "fileName=%%~nf" 这个bat同学们有需要的同学们也可以参考一下,路径指的是输出最终获取的合并文件存放位置,命名AAA,把该BAT放在需要处理的文件夹内运行即可,这个的功能是把所有数据合并,且把工作簿名加到最后一列中。再次感谢wils老师的指导! for /f "tokens=*" %%a in ('type "%%f"') do ( set "line=%%a,!fileName!" echo "!line!" >> "%outputFile%" ) )
· 广东省
回复
 
学无止境
该题已由wils老师完美解决,
· 广东省
回复
 
HC.旋
打卡学习
· 江苏省
回复
 
方盛
方盛

创作者俱乐部成员

点赞学习
· 湖北省
回复
 
wils
wils

创作者俱乐部成员

写的比较啰嗦,大概意思到了
· 广东省
回复
学无止境
谢谢,大佬!
· 广东省
回复