Filter 批处理脚本,用于筛选文件夹中的数百个csv文件,并将数据提取到单个工作表中
我正在寻求有关创建批处理脚本的帮助,该脚本: 要求输入行(可能是几个单词,可能包括通配符,可能只是一个关键字) 浏览文件夹中的所有csv/xls文件 提取找到该输入行的行 将结果放入新工作簿 请帮忙就好了 如果文件也有注释,我会喜欢的,这样我就可以学习 提前谢谢你Filter 批处理脚本,用于筛选文件夹中的数百个csv文件,并将数据提取到单个工作表中,filter,Filter,我正在寻求有关创建批处理脚本的帮助,该脚本: 要求输入行(可能是几个单词,可能包括通配符,可能只是一个关键字) 浏览文件夹中的所有csv/xls文件 提取找到该输入行的行 将结果放入新工作簿 请帮忙就好了 如果文件也有注释,我会喜欢的,这样我就可以学习 提前谢谢你@Echo OFF @Echo OFF @IF "%_Echo%" NEQ "" Echo %_Echo% Echo xls file filter - select lines ending with the requested ex
@Echo OFF
@Echo OFF
@IF "%_Echo%" NEQ "" Echo %_Echo%
Echo xls file filter - select lines ending with the requested extension type
Echo v1.1
If "%1" NEQ "" goto -Process
Echo.
Echo Parameters
Echo 1 - Extension to search for
Echo.
Echo .csv Files in C:\Users\test\Desktop\output will be scanned for the input
Echo All matching extensions found in folder C:\Users\test\Desktop\output\*.csv
Echo Where ********* is the filteryou entered.
Echo.
Pause
Set /p _b= "Enter Extension "
if "%_b%" NEQ "" goto -Process2
Goto :EOF
:-Process
Set _b=%1
:-Process2
Set _Src="C:\Users\test\Desktop\output"
Echo Source %_Src% Files 20yy-mm-dd.csv
Set _TFN="C:\Users\test\Desktop\Files\%_b%.csv"
Echo Filtered File: %_TFN%
set _HDR=
set _cnt=0
Pushd %_src%
::dir /b "C:\Users\test\Desktop\output\*.csv"
FOR /F "usebackq tokens=1,2*" %%a IN (`dir /b "C:\Users\test\Desktop\output\**********.csv"`) DO Call :-FilterFl %%a
Echo %_cnt% Files processed
popd
pause
Goto :EOF
:-FilterFl
::Echo 1-%1 2-%2
if not exist %1 goto :-NF
if "%_HDR%" NEQ "Done" call :-DoHdr %1
Echo Processing %1
FIND /i "%_b%"<%1 >>%_TFN%
set /a _cnt=_cnt + 1
Goto :EOF
:-NF
Echo %1 is not found
goto :EOF
:-DoHdr
if "%_Debug%" NEQ "" Echo -DoHdr %1
FIND "---," <%1 >%_TFN%
set _HDR=Done
goto :EOF
@如果“%\u Echo%”NEQ“Echo%\u Echo%
Echo xls文件筛选器-选择以请求的扩展名类型结尾的行
Echo v1.1
如果“%1”NEQ“转到-进程
回声。
回波参数
Echo 1-要搜索的扩展名
回声。
将扫描C:\Users\test\Desktop\output中的Echo.csv文件以获取输入
回显在文件夹C:\Users\test\Desktop\output\*.csv中找到的所有匹配扩展名
回声,其中*******是您输入的过滤器。
回声。
暂停
设置/p\u b=“输入扩展”
如果“%\u b%”NEQ“”转到-Process2
后藤:EOF
:-过程
设置_b=%1
:-Process2
Set\u Src=“C:\Users\test\Desktop\output”
回波源%\u Src%文件20yy-mm-dd.csv
Set\u TFN=“C:\Users\test\Desktop\Files\%\u b%.csv”
回显筛选文件:%\u TFN%
设置=
设置_cnt=0
Pushd%\u src%
::dir/b“C:\Users\test\Desktop\output\*.csv”
对于(`dir/b“C:\Users\test\Desktop\output\***********.csv”`)中的/F“usebackq tokens=1,2*”%%a,请调用:-FilterFl%%a
已处理的Echo%\u cnt%文件
邻苯二胺
暂停
后藤:EOF
:-过滤器
::回显1-%12-%2
如果不存在%1转到:-NF
如果“%\u HDR%”NEQ“完成”调用:-DoHdr%1
回显处理%1
查找/i“%\u b%”>%\u TFN%
设置/a\u cnt=\u cnt+1
后藤:EOF
:-NF
找不到回显%1
后藤:EOF
:-DoHdr
如果“%\u Debug%”“NEQ”Echo-DoHdr%1
查找“--,”%\u TFN%
设置_HDR=Done
后藤:EOF
这不是一个免费的脚本下载站点。试试你自己,如果你失败了,来这里问问你在哪里遇到了问题。你好,抱歉,我会上传我今晚已经做过的事情。我已经回答了我自己的问题,但不确定是否有更好的方法?@Volkan Ulukut你能看一下我的代码吗