Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Чтобы настроить батник (batch file) для выполнения копирования каждые 30 минут, можно использовать встроенную командуПоправь батник так, чтобы копирование происходило каждые 30 минут
timeout или ping для создания паузы. Вот пример того, как можно это сделать:@echo off
:loop
rem Здесь укажите команду для копирования файлов
xcopy "C:\путь\к\исходной\папке\*" "D:\путь\к\целевой\папке\" /E /I /Y
rem Пауза на 30 минут (1800 секунд)
timeout /t 1800
rem Возврат к началу цикла
goto loop
	@echo off - отключает вывод команд в окне консоли.:loop - метка, к которой мы можем вернуться.xcopy - команда для копирования файлов. Замените пути на ваши.* - копирует все файлы./E - копирует все подкаталоги, включая пустые./I - если целевая папка не существует, создаёт её./Y - подавляет запрос на подтверждение перезаписи файлов.timeout /t 1800 - делает паузу на 1800 секунд (30 минут).goto loop - возвращает выполнение к метке :loop, начиная процесс заново.@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
echo Пожалуйста, запустите Xenia вручную.
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    echo Xenia запущена. Начинаем мониторинг...
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    echo Xenia работает. Ожидание...
    timeout /t 10 > NUL
    goto checkXenia
) else (
    echo Xenia закрыта. Перезапуск...
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
endlocal
	Для того чтобы ваш батник выполнялCMD/BATCH:@echo off setlocal enabledelayedexpansion :: Установите путь к Xenia set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe" set "source=G:\Soft\XeniaCanary\content" set "destination=D:\Saves\XBOX360" set "process_name=xenia_canary.exe" :: Ожидание ручного запуска Xenia echo Пожалуйста, запустите Xenia вручную. :waitForXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( echo Xenia запущена. Начинаем мониторинг... goto monitorXenia ) else ( timeout /t 5 > NUL goto waitForXenia ) :monitorXenia :: Мониторинг Xenia :checkXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( echo Xenia работает. Ожидание... timeout /t 10 > NUL goto checkXenia ) else ( echo Xenia закрыта. Перезапуск... start "" "%XENIA_PATH%" timeout /t 10 > NUL goto checkXenia ) :: Копирование всех папок for /d %%D in ("%source%\*") do ( set "folderName=%%~nxD" set "shortName=!folderName:~0,8!" REM Получаем первые 8 символов имени папки set "destFolder=!shortName! !folderName:~9!" REM Остальная часть имени после первых 8 символов set "destPath=%destination%\!destFolder!" REM Формируем путь назначения rem Копируем папку, если она существует в каталоге назначения if exist "!destPath!" ( robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0 ) ) endlocal
Поправь код батника так, чтобы robocopy выполнялся каждые 30 минут.
robocopy каждые 30 минут, вам нужно внести некоторые изменения в код. Вместо того чтобы сразу копировать папки, вы можете добавить цикл, который будет повторяться каждые 30 минут. Вот исправленный код:@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
echo Пожалуйста, запустите Xenia вручную.
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    echo Xenia запущена. Начинаем мониторинг...
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    echo Xenia работает. Ожидание...
    timeout /t 10 > NUL
    goto checkXenia
) else (
    echo Xenia закрыта. Перезапуск...
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
echo Ожидание 30 минут перед следующим выполнением...
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	:copyFolders, где происходит выполнение robocopy.timeout для ожидания: После выполнения robocopy добавлена команда timeout /t 1800, которая заставляет скрипт ждать 30 минут (1800 секунд) перед следующим выполнением.:copyFolders для повторения процесса.robocopy. Если у вас есть дополнительные вопросы или нужно что-то уточнить, дайте знать!@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
echo Пожалуйста, запустите Xenia вручную.
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    echo Xenia запущена. Начинаем мониторинг...
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    echo Xenia работает. Ожидание...
    timeout /t 10 > NUL
    goto checkXenia
) else (
    echo Xenia закрыта. Перезапуск...
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
echo Ожидание 30 минут перед следующим выполнением...
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	Чтобы добавить скрытый запуск в фоновом режиме и убрать вывод командCMD/BATCH:@echo off setlocal enabledelayedexpansion :: Установите путь к Xenia set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe" set "source=G:\Soft\XeniaCanary\content" set "destination=D:\Saves\XBOX360" set "process_name=xenia_canary.exe" :: Ожидание ручного запуска Xenia echo Пожалуйста, запустите Xenia вручную. :waitForXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( echo Xenia запущена. Начинаем мониторинг... goto monitorXenia ) else ( timeout /t 5 > NUL goto waitForXenia ) :monitorXenia :: Мониторинг Xenia :checkXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( echo Xenia работает. Ожидание... timeout /t 10 > NUL goto checkXenia ) else ( echo Xenia закрыта. Перезапуск... start "" "%XENIA_PATH%" timeout /t 10 > NUL goto checkXenia ) :: Копирование всех папок каждые 30 минут :copyFolders for /d %%D in ("%source%\*") do ( set "folderName=%%~nxD" set "shortName=!folderName:~0,8!" REM Получаем первые 8 символов имени папки set "destFolder=!shortName! !folderName:~9!" REM Остальная часть имени после первых 8 символов set "destPath=%destination%\!destFolder!" REM Формируем путь назначения rem Копируем папку, если она существует в каталоге назначения if exist "!destPath!" ( robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0 ) ) echo Ожидание 30 минут перед следующим выполнением... timeout /t 1800 > NUL :: 1800 секунд = 30 минут goto copyFolders endlocal
Добавь в этот батник скрытый запуск в фоновом режиме без ярлыка и убери вывод echo
echo, вам нужно внести несколько изменений в ваш батник. Вот обновленная версия:@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
start /B "" cmd /c "echo Пожалуйста, запустите Xenia вручную."
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    timeout /t 10 > NUL
    goto checkXenia
) else (
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	start /B для запуска Xenia в фоновом режиме. Это позволяет избежать появления нового окна консоли.echo: Все команды echo были удалены или заменены на cmd /c для запуска в фоновом режиме. timeout /t ... > NUL, чтобы подавить вывод.robocopy, так как для копирования файлов могут потребоваться соответствующие разрешения.echo, чтобы видеть, что происходит в процессе выполнения.@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
start /B "" cmd /c "echo Пожалуйста, запустите Xenia вручную."
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    timeout /t 10 > NUL
    goto checkXenia
) else (
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	Чтобы скрыть окно консоли при выполнении вашего батника, вы можете использовать несколько подходов. Один из наиболее распространенных способов — это создать ярлык на ваш батник и изменить его свойства. Однако, если вы хотите сделать это программно, можно использовать VBScript для запуска вашего батника в скрытом режиме.CMD/BATCH:@echo off setlocal enabledelayedexpansion :: Установите путь к Xenia set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe" set "source=G:\Soft\XeniaCanary\content" set "destination=D:\Saves\XBOX360" set "process_name=xenia_canary.exe" :: Ожидание ручного запуска Xenia start /B "" cmd /c "echo Пожалуйста, запустите Xenia вручную." :waitForXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( goto monitorXenia ) else ( timeout /t 5 > NUL goto waitForXenia ) :monitorXenia :: Мониторинг Xenia :checkXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( timeout /t 10 > NUL goto checkXenia ) else ( start "" "%XENIA_PATH%" timeout /t 10 > NUL goto checkXenia ) :: Копирование всех папок каждые 30 минут :copyFolders for /d %%D in ("%source%\*") do ( set "folderName=%%~nxD" set "shortName=!folderName:~0,8!" REM Получаем первые 8 символов имени папки set "destFolder=!shortName! !folderName:~9!" REM Остальная часть имени после первых 8 символов set "destPath=%destination%\!destFolder!" REM Формируем путь назначения rem Копируем папку, если она существует в каталоге назначения if exist "!destPath!" ( robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0 ) ) timeout /t 1800 > NUL :: 1800 секунд = 30 минут goto copyFolders endlocal
Добавь в батник команду, которая скрывает окно консоли с рабочего стола
run_hidden.vbs.run_hidden.vbs:vbscript
   Set WshShell = CreateObject("WScript.Shell")
   WshShell.Run "путь_к_вашему_батнику.bat", 0, False
	путь_к_вашему_батнику.bat на фактический путь к вашему батнику.xenia_script.bat и находится в папке G:\Soft\XeniaCanary, ваш VBScript будет выглядеть так:Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "G:\Soft\XeniaCanary\xenia_script.bat", 0, False
	run_hidden.vbs, просто дважды щелкните на этом файле, и ваш батник будет выполняться без отображения консольного окна.Можно ли реализовать выполнение батника без отображения консольного окна непосредственно в батнике? Что-то вроде команды "cmdow @ /HID"?
vbscript
   Set WshShell = CreateObject("WScript.Shell")
   WshShell.Run "C:\путь\к\вашему\скрипту.bat", 0, False
	0 указывает на то, что окно должно быть скрыто.False означает, что выполнение VBS-скрипта не будет ожидать завершения BAT-файла.cmdow, как вы упомянули, вам нужно сначала убедиться, что у вас установлена эта утилита. После этого вы можете использовать следующую команду в вашем BAT-файле:bat
   cmdow @ /HID
   ваш_скрипт_или_команда
	cmdow.exe доступен в PATH или находится в той же папке, что и ваш BAT-файл.script.bat, который вы хотите запустить без отображения консольного окна. Создайте файл run_hidden.vbs со следующим содержимым:Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "C:\путь\к\script.bat", 0, False
	run_hidden.vbs, и ваш BAT-файл выполнится без отображения консольного окна.@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
start /B "" cmd /c "echo Пожалуйста, запустите Xenia вручную."
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    timeout /t 10 > NUL
    goto checkXenia
) else (
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	CMD/BATCH:@echo off setlocal enabledelayedexpansion :: Установите путь к Xenia set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe" set "source=G:\Soft\XeniaCanary\content" set "destination=D:\Saves\XBOX360" set "process_name=xenia_canary.exe" :: Ожидание ручного запуска Xenia start /B "" cmd /c "echo Пожалуйста, запустите Xenia вручную." :waitForXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( goto monitorXenia ) else ( timeout /t 5 > NUL goto waitForXenia ) :monitorXenia :: Мониторинг Xenia :checkXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( timeout /t 10 > NUL goto checkXenia ) else ( start "" "%XENIA_PATH%" timeout /t 10 > NUL goto checkXenia ) :: Копирование всех папок каждые 30 минут :copyFolders for /d %%D in ("%source%\*") do ( set "folderName=%%~nxD" set "shortName=!folderName:~0,8!" REM Получаем первые 8 символов имени папки set "destFolder=!shortName! !folderName:~9!" REM Остальная часть имени после первых 8 символов set "destPath=%destination%\!destFolder!" REM Формируем путь назначения rem Копируем папку, если она существует в каталоге назначения if exist "!destPath!" ( robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0 ) ) timeout /t 1800 > NUL :: 1800 секунд = 30 минут goto copyFolders endlocal
Перепиши код батника с использованием nircmd exec hide "D:\Saves\XBOX360\Autobackup saves.bat" /savelangfile вместо start /B "" cmd /c "echo Пожалуйста, запустите Xenia вручную."
nircmd exec hide вместо команды start /B. Я также исправил некоторые символы и убрал лишние пробелы для улучшения читаемости.@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
nircmd exec hide "D:\Saves\XBOX360\Autobackup saves.bat" /savelangfile
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    timeout /t 10 > NUL
    goto checkXenia
) else (
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	nircmd exec hide: Я заменил команду start /B на nircmd exec hide, чтобы скрыть выполнение скрипта, который запрашивает ручной запуск Xenia. Это позволяет вашему скрипту работать более аккуратно, без лишнего окна командной строки.robocopy или xcopy?nircmd? Есть ли другие задачи, которые вы хотите автоматизировать с его помощью?Перепроверь батник на ошибки, он бесконечно запускает процесс xenia_canary.exe
xenia_canary.exe. Обычно это происходит из-за неправильной логики в самом батнике. xenia_canary.exe:@echo off
:loop
start "" "C:\Path\To\xenia_canary.exe"
timeout /t 5
goto loop
	xenia_canary.exe указан неправильно, это может привести к тому, что батник будет пытаться запустить несуществующий файл.@echo off
:loop
tasklist /FI "IMAGENAME eq xenia_canary.exe" | find /I "xenia_canary.exe" >nul
if errorlevel 1 (
    start "" "C:\Path\To\xenia_canary.exe"
) else (
    echo Процесс уже запущен.
)
timeout /t 5
goto loop
	xenia_canary.exe указан правильно.@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
nircmd exec hide "D:\Saves\XBOX360\Autobackup saves.bat" /savelangfile
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    timeout /t 10 > NUL
    goto checkXenia
) else (
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	Какие альтернативы есть утилите nircmd?
ahk
  ; Пример скрипта для открытия калькулятора
  ^!c::Run calc.exe  ; Ctrl + Alt + C откроет калькулятор
	powershell
  # Открытие блокнота
  Start-Process notepad
	batch
  @echo off
  start notepad.exe
	@echo off
setlocal enabledelayedexpansion
:: Установите путь к Xenia
set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe"
set "source=G:\Soft\XeniaCanary\content"
set "destination=D:\Saves\XBOX360"
set "process_name=xenia_canary.exe"
:: Ожидание ручного запуска Xenia
nircmd exec hide "D:\Saves\XBOX360\Autobackup saves.bat" /savelangfile
:waitForXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    goto monitorXenia
) else (
    timeout /t 5 > NUL
    goto waitForXenia
)
:monitorXenia
:: Мониторинг Xenia
:checkXenia
tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL
if "%ERRORLEVEL%"=="0" (
    timeout /t 10 > NUL
    goto checkXenia
) else (
    start "" "%XENIA_PATH%"
    timeout /t 10 > NUL
    goto checkXenia
)
:: Копирование всех папок каждые 30 минут
:copyFolders
for /d %%D in ("%source%\*") do (
    set "folderName=%%~nxD"
    set "shortName=!folderName:~0,8!"  REM Получаем первые 8 символов имени папки
    set "destFolder=!shortName! !folderName:~9!"  REM Остальная часть имени после первых 8 символов
    set "destPath=%destination%\!destFolder!"  REM Формируем путь назначения
    rem Копируем папку, если она существует в каталоге назначения
    if exist "!destPath!" (
        robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0
    )
)
timeout /t 1800 > NUL  :: 1800 секунд = 30 минут
goto copyFolders
endlocal
	Ваш код написан на командном языке Windows и содержит несколько частей, которые могут вызывать бесконечный цикл. Давайте разберем его и посмотрим, где могут быть проблемы.Проверь пожалуйста код ниже, по непонятной причине процесс xenia_canary.exe запускается бесконечно
CMD/BATCH:@echo off setlocal enabledelayedexpansion :: Установите путь к Xenia set "XENIA_PATH=G:\Soft\XeniaCanary\xenia_canary.exe" set "source=G:\Soft\XeniaCanary\content" set "destination=D:\Saves\XBOX360" set "process_name=xenia_canary.exe" :: Ожидание ручного запуска Xenia nircmd exec hide "D:\Saves\XBOX360\Autobackup saves.bat" /savelangfile :waitForXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( goto monitorXenia ) else ( timeout /t 5 > NUL goto waitForXenia ) :monitorXenia :: Мониторинг Xenia :checkXenia tasklist /FI "IMAGENAME eq %process_name%" 2>NUL | find /I /N "%process_name%" >NUL if "%ERRORLEVEL%"=="0" ( timeout /t 10 > NUL goto checkXenia ) else ( start "" "%XENIA_PATH%" timeout /t 10 > NUL goto checkXenia ) :: Копирование всех папок каждые 30 минут :copyFolders for /d %%D in ("%source%\*") do ( set "folderName=%%~nxD" set "shortName=!folderName:~0,8!" REM Получаем первые 8 символов имени папки set "destFolder=!shortName! !folderName:~9!" REM Остальная часть имени после первых 8 символов set "destPath=%destination%\!destFolder!" REM Формируем путь назначения rem Копируем папку, если она существует в каталоге назначения if exist "!destPath!" ( robocopy "%%D" "!destPath!" /E /COPY:DAT /MINAGE:1 /XD "Thumbs.db" /R:0 /W:0 ) ) timeout /t 1800 > NUL :: 1800 секунд = 30 минут goto copyFolders endlocal
tasklist, чтобы проверить, запущен ли процесс.echo для вывода состояния процесса в файл.batch
   echo %date% %time%: Проверка процесса %process_name% >> log.txt
	tasklist и find:tasklist возвращает корректный результат. Если find не находит процесс, это может привести к тому, что Xenia будет перезапускаться бесконечно.xenia_canary.exe (например, регистр букв).robocopy не будет выполняться, но это не должно вызывать бесконечный цикл. Тем не менее, убедитесь, что папка назначения существует.batch
   if not exist "%destination%" (
       mkdir "%destination%"
   )
	разве утилита прописана в PATCH? Чем менее подробна задача, тем хуже результат, бесконечный цикл, так и задуман?:: Ожидание ручного запуска Xenia nircmd exec hide "D:\Saves\XBOX360\Autobackup saves.bat" /savelangfile