2013-09-14 4 views
1

первый раз (пожалуйста, будьте добры, если ответ существует в другом месте, я не смог найти). Я уверен, что есть 20 000 других более современных способов выполнить ниже, но я всегда хотел получить ответ на это.Batch Loop Last Step

То, что я хочу сделать, это запустить цикл, а затем в конце цикла (выполнить) запустите последний шаг, отделенный от цикла. Я надеюсь, кто-то может указать на мою простоту.

Благодарим вас заблаговременно.

Вот моя партия .....

for /f "eol=#" %%i in (\\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push.txt) do call :sub "%%i" 

:sub 

if exist "\\%1\c$\vm\isovm\09132013.txt" goto good 
goto bad 
goto end 

:good 
echo %1  good >> \\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
goto end 

:bad 
echo %1  bad >> \\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
goto end 

:end 


:done 
\\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
+0

Что вы намереваетесь делать с '\\ server \ ops \! ReinsDeploy \ WindowsXPMODE \ isovm-push-confirm.txt' в конце? – konsolebox

ответ

0

Я не уверен, что делает линию в конце сценария, но вы можете переместить его, чтобы выполнить его в конце цикла, как это:

for /f "eol=#" %%i in (\\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push.txt) do call :sub "%%i" 

\\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
goto end 

:sub 

if exist "\\%1\c$\vm\isovm\09132013.txt" goto good 
goto bad 

:good 
echo %1  good >> \\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
goto end 

:bad 
echo %1  bad >> \\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
goto end 

:end 

Кроме того, я думаю, вы могли бы упростить это так:

@echo off 

for /f "eol=#" %%i in (\\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push.txt) do (
    if exist "\\%%i\c$\vm\isovm\09132013.txt" (
     echo %%i  good >> \\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
    ) else (
     echo %%i  bad >> \\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 
    ) 
) 

\\server\ops\!ReinsDeploy\WindowsXPMODE\isovm-push-confirm.txt 

Хотя это было в то время как аль готовый с момента создания сценария cmd.exe, поэтому я мог просто надеяться, что он сработает.

+0

konsole ... гений. Хотя вы говорите, что прошло какое-то время ... вы все еще это получили. Второй вариант был идеальным. Спасибо! – Ant

+0

@Ant Добро пожаловать и спасибо :) Надеюсь, вы могли бы принять ответ. Я думаю, что это галочка :) – konsolebox