#windows #batch-file
Вопрос:
У меня есть пакетный файл, выполняющий следующее:
curl.exe -o file.bat https://www.examplewebsite.com/file.txt/ start /min file.bat /c exit
И в «file.bat» последняя часть кода:
start /b "" cmd /c del "%~f0"amp;exit /b
То, что я пытаюсь заставить «файл.bat» сделать, это удалить себя, и эта часть работает. Но тогда окно командной строки все еще открыто, когда я хочу, чтобы оно закрылось.
Кто-нибудь может мне помочь? Спасибо.
Комментарии:
1. Я не уверен , почему вы включаете
/c
аргументfile.bat
, потому что вы его не используете. Я также не уверен в целиamp;exit /b
. Кроме того, лучший способ, который я нашел, чтобы заставить пакетный файл удалить сам себя, — это просто(GoTo) 2gt;NUL amp; Del "%~f0"
.2. @Compo Он удаляется сам, но окно не закрывается. Есть ли какой-нибудь способ это исправить?
3. Все это зависит от содержимого пакетного файла
start /min file.bat /c
, в котором находится строка, и от того, как именно она вызывается. Ни одна из этих вещей не была предоставлена, поэтому мы не можем найти решение без этой информации.4. @Compo Извини, я обновил пост. Поэтому я хочу загрузить файл, запустить файл, а затем убедиться, что все закрывается красиво и аккуратно, но проблема в том, что cmd никогда не закрывается.
5. Таким образом, ваша
curl.exe
команда загружает пакетный файл, а затем запускает его, который впоследствии удаляется. Все, что вы делаете, вызывает тревогу, поэтому в данном случае, мне жаль, но я не хочу оказывать вам дальнейшую помощь в выполнении вашей задачи.