2015-08-21 3 views
0

я написал bat-скрипт, но конец сценария работы его это не распространяется дель это не распространяется на вещи в ZukoppierenКод партии не собирается маркировать

echo Schreibe 
echo [L] 
echo um die verbliebenen Dateien im Zukoppieren-Ordner zu loeschen 

set /p %STH%= 
if /i %STH%==L goto 2 


:2 
cd %userprofile%\desktop\Zukoppieren 
for %%A in (*.*) do del %%A 
+0

Как вы знаете, что это не связано с 2? – user2864740

ответ

0

При использовании set в cmd, только вы указать имени переменный, а не % характера:

set /p STH= 
if /i %STH%==L goto 2 
echo exiting 
goto :eof 
+0

Я добавил раздел выхода, чтобы он не попадал в код удаления в любом случае – foxidrive

0

с подпрограммой вам нужно выйти из кода, если Гото не выполняются.

Это добавляет другой способ удаления файлов, которые являются более безопасными, а также обслуживает имя пользователя с пробелом и т. Д., Окружая этот термин в двойных кавычках.

Включено исправление, уже упомянутое Mathias R. Jessen - с использованием фактического имени переменной в команде set/p.

Команда set, которая сбрасывает переменную - поэтому любой предыдущий ввод в том же командном окне не будет запоминаться.

Сравнение в команде if также содержит двойные кавычки, так что недопустимый ввод не приведет к ошибке и прекращению пакетного файла - если вы нажмете enter, не набрав ничего, например.

echo Schreibe 
echo [L] 
echo um die verbliebenen Dateien im Zukoppieren-Ordner zu loeschen 

set "sth=" 
set /p STH= 
if /i "%STH%"=="L" goto 2 
echo quitting 
goto :eof 

:2 
del "%userprofile%\desktop\Zukoppieren\*.*?" 
Смежные вопросы