我需要批处理脚本从文本文件中读取第一行
我需要批处理脚本从文本文件中读取第一行。然后,如果某行以.part1扩展名结尾,请阅读下一行。如果下一行最后没有.part#扩展名,那么使用.part文件做一些操作。所以基本上这些将是以.part1,.part2结尾的URL,然后我需要下载这些.part文件通过cmd提取,并且一些文件没有.part扩展名。我需要批处理脚本从文本文件中读取第一行
例,
new.txt
http://abcd.com/abcd.part1
http://abcd.com/abcd.part2
http://abcd.com/abcd.part3
http://abcd.com/xyz.zip
所以我需要下载abcd.part1,abcd.part2和abcd.part3一次,然后提取并删除部分文件。
这就是我想要做的
在此之后,我无法继续。如果有人可以给出一个代码来打印所有的零件文件,我可以完成下载和解压缩。
我的意思是在一个有序part1..partn我需要打印part1..partn
如果没有找到在EOL任何PARTN然后打印下一行到文件,然后如果一旦发现有任何部分文件再次搜索将所有part1..partn打印到文件。
@echo off
cd /D %SCP_HOME%
setlocal enableextensions
set count=0
set i=0
for %%x in (*) do set /a count+=1
echo %count%
for /r %%f in (*) do (
echo %%~nxf
head 1 %%~nxf
more +1 %%~nxf > %count%-1%%~nxf
)
endlocal
这将遍历行末尾包含“part *”的行。这会让你开始吗?
SETLOCAL ENABLEDELAYEDEXPANSION
SET "THE_FILE=new.txt"
FOR /F "usebackq tokens=*" %%a IN (`TYPE "%THE_FILE%"`) DO (
ECHO %%~a | FINDSTR /RC:"http://.*\.part[0-9]*" >NUL
IF !ERRORLEVEL! EQU 0 (
ECHO This line matches
ECHO %%~a
) ELSE (
ECHO This line does not match
ECHO %%~a
)
)
我相信这些文件是.part1.rar或.part1.zip像这样 –
Thanks @lit。我相信我现在可以完成剩下的工作。如果需要什么,我会在这里发布。 –
顺便再提一个所需的帮助。如果我只想检查“\ .part [0-9] *”的当前行怎么办?如果找到,然后做其他事情做另一个行动 –
命令'FINDSTR /ERC:"\.[[-9] *“
lit
HI @lit但我想逐行列出,以便我可以下载这些零件文件并提取它们。这将消耗更少的内存。解压缩这些文件后,我需要将它们压缩,上传并删除所有内容。 –