Как запустить пакетный скрипт неблокирования WIN98
23 просмотра
1 ответ
95 Репутация автора
Я пытался написать пакетный скрипт, который непрерывно копирует три файла в определенный каталог. Это необходимо, поскольку другой скрипт (который не находится под моим контролем) удаляет определенные файлы каждые несколько секунд.
ВАЖНО: это под Windows98!
Я достиг этого с бесконечной петлей. Проблема в том, что вся система больше не может использоваться, поскольку команда sleep, по-видимому, не является неблокирующей.
Я пробовал несколько способов сделать короткий перерыв в цикле:
- Я пробовал спать и millisleep.exe - оба блокировали
- Я попробовал трюк с выполнением команды ping на localhost -> блокировка
Вот мой код
@echo off
:loop
xcopy C:\WINDOWS\Desktop\FOLDER_B\a.bin C:\WINDOWS\Desktop\FOLDER_A\a.bin* /Y
xcopy C:\WINDOWS\Desktop\FOLDER_B\b.bin C:\WINDOWS\Desktop\FOLDER_A\b.bin* /Y
xcopy C:\WINDOWS\Desktop\FOLDER_B\c.bin C:\WINDOWS\Desktop\FOLDER_A\c.bin* /Y
sleep 1
goto loop
Мне нужно, чтобы скрипт работал в фоновом режиме (если он существует в WIN98), и другие приложения не зависают все время.
Если возможно, я хочу избежать написания скомпилированного скрипта.
Существуют ли какие-либо команды yield или другие команды, которые не блокируют всю систему во время «ожидания»?
Автор: user1894572 Источник Размещён: 02.08.2019 06:29Ответы (1)
0 плюса
61 Репутация автора
Если у вас есть Timeout
команда, вы можете заменить sleep
на Timeout
.
Вот мой метод:
@echo off
:loop
xcopy C:\WINDOWS\Desktop\FOLDER_B\a.bin C:\WINDOWS\Desktop\FOLDER_A\a.bin* /Y
xcopy C:\WINDOWS\Desktop\FOLDER_B\b.bin C:\WINDOWS\Desktop\FOLDER_A\b.bin* /Y
xcopy C:\WINDOWS\Desktop\FOLDER_B\c.bin C:\WINDOWS\Desktop\FOLDER_A\c.bin* /Y
timeout /t 5 /nobreak >nul
goto loop
Автор: scientist_7
Размещён: 11.08.2019 08:22
Вопросы из категории :
- batch-file Как я могу передать аргументы в командный файл?
- batch-file Как получить результат команды в переменной в Windows?
- batch-file Как я могу отобразить новую строку в командном файле?
- batch-file Остановить и запустить службу через пакетный или cmd-файл?
- batch-file Как я могу загрузить содержимое текстового файла в переменную пакетного файла?
- ping Как определить, открыт ли порт на сервере Windows?
- ping Как определить задержку удаленного сервера через браузер
- ping Как проверить интернет соединение с bash?
- ping Как я могу выполнить ping или traceroute, используя родной python?
- ping Оставьте только два десятичных знака после точки
- xcopy Что происходит не так, когда Visual Studio говорит мне «xcopy завершен с кодом 4»
- xcopy Правильный синтаксис для копирования и перезаписи файла в событии после сборки
- xcopy Как развернуть SQL Server Compact Edition 4.0?
- xcopy Как добавить дату в путь к каталогу в xcopy
- xcopy Пакетный файл для запуска xcopy без перезаписи существующих файлов
- windows-98 Как использовать встроенную 16-битную сборку на Delphi на Windows98?
- windows-98 Гостевые дополнения не будут установлены в Windows 98
- windows-98 Есть ли способ скомпилировать программу с RAD Studio XE7 для работы в Windows 98?
- windows-98 Команда SET эквивалентна в DOS 7
- windows-98 Как запустить пакетный скрипт неблокирования WIN98