У меня вопрос о пакетном файле, который я пишу.Как выйти из цикла for/f в пакете?
Как определить цикл «for/f» для выполнения только одной части моего скрипта, а не всего скрипта?
В приведенном ниже сценарии, я хотел бы
Я точен, что мне нужно использовать метод «вызов» (из-за другой проблемы с люфтом).
Спасибо за вашу помощь :)
@echo off
setlocal enabledelayedexpansion
WMIC LOGICALDISK where drivetype=3 get caption>%~n0.tmp
for /f "tokens=1-3 skip=1" %%a in ('type "%~n0.tmp"') do call :displayinfo %%a
del "%~n0.tmp"
goto :eof
:displayinfo
set drive=%1
echo Le drive est %drive%
echo lancement du DIR
REM call dir /A HS /s /b %drive%\ >> d:\Dir_ALL.txt
echo Fin du DIR
:step2
echo this is the step2, to be executed when the for /F loop is over.
echo blablalblablalballbabal
:step_End
echo Ths is the end
@pause
Обычный способ - использовать 'goto: label', который разбивает контекст' for', но какой цикл вы хотите выйти из. – npocmaka
Спасибо. На самом деле я хочу, чтобы мой скрипт перечислил все диски с помощью WMIC, а затем выполнил метку: displayinfo. Поэтому я хочу, чтобы он выполнял DIR/A HS ... на каждом найденном диске. Затем, когда этот цикл закончен, я хочу перейти к «step2» и т. Д. (Так что больше не в цикле). – Isabelle