3

У меня есть файл с именем fix.bat в каталоге F:\, который мне нужно переместить в C:\Users. По уважительной причине я решил, что мне следует закодировать файл в fix.bat, который будет создан при запуске fix.bat, и переместить fix.bat из каталога F:\ в C:\Users, запустить fix .bat, и в процессе всего этого создайте несколько папок в C:\Users.

Теперь, в самом начале файла fix.bat, выполняется проверка, чтобы определить, находится ли fix.bat в C:\Users. Если это так, то start.bat не создан, но fix.bat продолжает свою задачу. Если это не так, start.bat создается и перемещает fix.bat в C:\Users. По крайней мере, это идея.

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

Вот соответствующая часть кода fix.bat:

@echo off

if %cd% == C:\Users goto z
if not %cd% == C:\Users goto x

:x
echo pushd c:\users >>start.bat
echo md results-main >>start.bat
echo cd results-main >>start.bat
echo md results-e >>start.bat
echo md results-p >>start.bat
echo md results-s >>start.bat
echo md results-x >>start.bat
echo pushd %cd% >>start.bat
echo move fix.bat c:\users >>start.bat
echo pushd c:\users >>start.bat
echo start fix.bat >>start.bat
call start.bat
exit

:z
insert code here

1 ответ1

0

1: Сделайте так, чтобы FIX.bat удалил Start.bat перед записью в него - так как он продолжает добавляться к нему, чтобы он становился все длиннее и длиннее. Вероятно, поэтому вы видите, что это снова и снова.

2: Переименуйте «start.bat» во что-то другое, чтобы избежать путаницы.

3: Вместо «call start.bat», просто введите «start.bat», потому что вы хотите убедиться, что fix.bat не удерживается открытым CMD, и вы не хотите продолжать его запуск в любом случае.

4: В start.bat измените перемещение fix.bat C:\users для перемещения fix.bat C:\users || эхо не удалось

"||" Оператор означает «Если перемещение не удалось, сделайте эхо»

Вы должны избежать | символы: echo move fix.bat C:\users >> qstart.bat ^ | ^ | эхо не удалось

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .