У меня есть файл с именем 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