我有一堆包含JPG的RAR文件,我试图获取每个RAR文件的第一个文件的名称。批处理脚本帮助请求:如何找到换行符?
例如,如果我跑7z l -r abc.rar
,我想获得的第一个文件01.jpg
path = xyz.rar
Type = zip
Physical Size = 15430338
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2003-03-06 13:32:44 ....A 330433 325405 01.jpg
2003-03-06 13:34:08 ....A 301098 291857 02.jpg
2003-03-06 13:34:14 ....A 257770 244619 03.jpg
2003-03-06 13:34:22 ....A 301220 292019 04.jpg
2003-03-06 13:34:30 ....A 326989 316380 05.jpg
到目前为止,与下面的批处理脚本,我能够剥离7Z命令的元数据和获得contents.txt
文件中的文件列表。
set PATH=%PATH%;"C:\Program Files\7-Zip"
for %%f in ("*.*") do (
echo "%%f" >> contents.txt
echo.
7z l -r "%%f" | FIND /V "ing " | FIND /V "Igor Pavlov" | FIND /V "--" | FIND /V "Path" | FIND /V "Type" | FIND /V "Solid" | FIND /V "Blocks" | FIND /V "Multivolume" | FIND /V "Volumes" | FIND /V "Date" | FIND /V "---" | FIND /V "Physical Size" | FINDSTR /R /E ".jpg" >> contents.txt
echo.
)
PAUSE
输出示例:
"abc.rar"
2003-03-26 01:18:50 ....A 331711 330648 01.jpg
2003-03-26 01:18:54 ....A 271173 270942 02.jpg
"xyz.rar"
2003-07-08 22:40:56 ....A 445799 430058 p00.jpg
2003-07-08 22:40:40 ....A 181324 142554 p01.jpg
2003-07-08 22:40:42 ....A 384901 370140 p02.jpg
"efg.rar"
2003-07-08 22:42:54 ....A 156436 115275 xy01abc.jpg
2003-07-08 22:42:58 ....A 456633 448240 xy02abc.jpg
2003-07-08 22:42:58 ....A 355114 339026 xy03abc.jpg
2003-07-08 22:42:58 ....A 355114 339026 xy04abc.jpg
我想如果我调整我的剧本找到第一个换行符之后在7z格式输出“.JPG”,我可以在第一个文件名格式如下:
"abc.rar"
2003-03-26 01:18:50 ....A 331711 330648 01.jpg
"xyz.rar"
2003-07-08 22:40:56 ....A 445799 430058 p00.jpg
"efg.rar"
2003-07-08 22:42:54 ....A 156436 115275 xy01abc.jpg
但我不知道如何寻找在FINDSTR命令行。我试着在FINDSTR找到 “.JPG \ N”:
7z l -r "%%f" | FIND /V "ing " | FIND /V "Igor Pavlov" | FIND /V "--" | FIND /V "Path" | FIND /V "Type" | FIND /V "Solid" | FIND /V "Blocks" | FIND /V "Multivolume" | FIND /V "Volumes" | FIND /V "Date" | FIND /V "---" | FIND /V "Physical Size" | FINDSTR /R /E ".jpg\n" >> contents.txt
但没有奏效。
任何人都可以帮助我吗?
我的期望的输出是从文件名输出去除所有的时间和文件大小的信息和对RAR文件名之后添加它,如:
"abc.rar" 01.jpg
"xyz.rar" p00.jpg
"efg.rar" xy01abc.jpg
有第一JPG的没有固定的模式文件。一些从00开始,一些用01,一些用文本和数字(例如x00y.jpg)。我尝试过使用各种方法来搜索文件名,这些文件名以00或01开头,有或没有文本(例如,在我的命令中,我使用FINDSTR /R /E "[a-z][0-1]*.jpg"
来搜索文本和数字的文件名,但有一些RAR文件没有文字文件名称)。