我需要一个批处理脚本从文本文件中读取第一行。然后,如果某行以.part1扩展名结尾,则读取下一行。如果下一行最后没有.part#extension,那么使用.part文件执行一些操作。所以基本上那些将是以.part1,.part2结尾的网址,然后我需要通过cmd下载那些.part文件,一些文件没有.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
答案 0 :(得分:1)
这将遍历包含" 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
)
)