我的文件PublicHolidays.txt,下面是内容(一行中的一个html脚本)。 Windows 7
A.html
B.html
C.html
D.html
如果用户输入B.html(忽略大小写),那么我的批处理文件应该从B.html开始执行直到文件结束,即D.html
我对这篇文章进行了评论,但它似乎不是help
概述:我需要编写一个批处理作业,该作业执行txt文件中指定的所有内容,或者接受用户输入并从该行执行命令(基本上是第一次搜索文件中的字符串并从该行开始执行)。
@echo OFF
Echo **********************************************************************
@setlocal enableextensions enabledelayedexpansion
SET TOTAL=0
FOR /F "usebackq tokens=*" %%I IN (PublicHolidays.txt) do (
SET LN=%%I
FOR %%J IN ("!LN!") do (
FOR /F %%K IN ('ECHO %%J ^| FIND /I /C ".html"') DO (
@SET /A TOTAL=!TOTAL!+%%K
)
)
)
setLocal EnableDelayedExpansion
ECHO *************Total !TOTAL! *************
Echo.
SET /p ScriptName=Please enter the Script Name :
IF [%ScriptName%] EQU [] GOTO ScriptName
for /f "tokens=%ScriptName% skip=%line% delims=," %%j in (PublicHolidays.txt) do (
setlocal enabledelayedexpansion
CALL specificCmd -s -i %ScriptName% >> outout.txt
)
Pause
答案 0 :(得分:1)
@ECHO OFF
SETLOCAL
SET /p ScriptName=Please enter the Script Name :
for /f "tokens=1*delims=." %%j in (q26519180.txt) do (
IF /i "%scriptname%"=="%%j" SET "scriptname="
IF NOT DEFINED scriptname ECHO(call specificCmd -s -i %%j.%%k
)
GOTO :EOF
这应该适合你。
我使用了一个名为q26519180.txt
的文件,其中包含我的测试数据。
所需命令仅用于ECHO
以用于测试目的。 在您确认命令正确后,将ECHO(call
更改为call
以实际执行包含文件的过程。
另请注意,我已删除重定向以使我的测试更容易。