Bat файл пауза: PAUSE – пауза при выполнении командного файла.
Содержание
cmd — Как сделать bat файл запускаемым с любого места файловой системы
Вопрос задан
Изменён
1 год 7 месяцев назад
Просмотрен
1k раза
У меня есть лабораторная работа на тему подготовки .bat файла, которая выглядит так
- Перейти на директорию выше относительно директории, в которой находится bat-файл и создать
там директорию с именем ‘Practice0’. - Создать в директории ‘Practice0’ поддиректорию ‘Test’ и в ней создать файл ‘about.me’, в котором
в первой строке записать своё имя и фамилию, а во второй – название университета, который
закончили или в котором учитесь. - Переместить файл ‘about.me’ в директорию ‘Practice0’ и присвоить ему атрибут ‘read only’.
- Вывести информацию из файла ’about. me’ в виде: [Ваша имя и фамилия] учусь/учился в
[название университета].
В отчете же сказано что
- Сделайте созданный bat-файл запускаемым с любого места файловой системы.
Вот пример моего кода в .bat файле
cd .. md Practice0 cd Practice0 md Test cd Test NUL> about.me.txt echo Name Surname >> about.me.txt echo University >> about.me.txt MOVE A:\lab1\Practice0\Test\about.me.txt A:\lab1\Practice0 pause
Вопрос заключается в 3 пункте, как сделать так, чтобы файл запускался из любого места, ведь при переносе файла я указываю полный путь до него, и если я перенесу батник куда-то в другое место, он выдает ошибку
- cmd
- bat
5
Сработало 🙂
move about.me.txt ../about.me.txt
Учитывая, что мы находимся в каталоге Test, мы можем скопировать файл «about.me.txt» в каталог уровнем выше, используя префикс «. ./», который и ссылается на родительский каталог.
3
@echo off # перейти на диск, где находится батч-файл, в каталог "на этаж выше" cd /d "%~dp0.." # остальные команды
Если в батче надо получить диск/путь к батчу — соответственно используйте "%~dp0"
(использовать в команде либо присвоить в переменную среды). Более подробно по выделению компонентов см. for /?
. В батче %0
— это нулевой параметр комстроки, т.е. полное имя самого батча.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
|
команд ожидания или сна в пакетных файлах | командная пауза
сон или ожидание в пакетных файлах: пауза cmd
Функция ожидания или сна по умолчанию недоступна в BATch-файлах.
Средство устранения — небольшой обходной путь с помощью команды ping.
спящий режим или ожидание с помощью команды ping
:
@ping -n 10 localhost> nul
ожидание около 10 секунд (-n 10), а затем продолжение выполнения пакета. файл.
команда модификации сна
sleep.cmd в C:\Windows\System32
@echo off @ping localhost -n 2 > NUL @ping localhost -n %1 > NUL
Windows Vista/7/8/10/11
начиная с Windows Vista есть команда:
timeout
timeout /T 10
ждет 10 секунд, время ожидания может можно пропустить любой клавишей, для предотвращения этого есть параметр: /nobreak
timeout /T 10 /nobreak
далее темы
- Введение, основы и углубленное знание пакетной службы Windows см.: Пакетная служба Windows.
- Текущий интерпретатор командной строки, см.: Windows PowerShell
({{pro_count}})
Оценить сообщение:
{{percentage}} % положительный
({{con_count}})
СПАСИБО за отзыв!
➨ Обзор команд CMD: Команды BATch Командная строка Windows |
➦ Пакетная обработка Windows
| Пример Robocopy — перенос сервера ➨
сообщить об этом объявлении
Популярные статьи в этом разделе
Структура пакетного файла Синтаксис: echo off cmd
Если вы создали пакетный файл, вы можете написать команду в каждой строке, см. : как создать пакетный файл — основы. Команды выполняются последовательно при запуске файла. Поведение вывода можно настроить следующим образом:
Практические примеры с пакетом
Обработка переменных в Windows Batch (командная строка)
Читать все переменные
Переменные можно прочитать в командной строке командой set:
Выполнение удаленных команд с помощью psexec pstools — cmd Windows
С помощью pstools можно выполнять команды на других компьютерах: Конечно, для этого требуются необходимые права для удаленного подключения: по умолчанию это администратор домена или локальный администратор. В качестве альтернативы удаленному подключению к другому компьютеру также можно использовать удаленное взаимодействие PowerShell, см. Powershell Remote 9.0073
Вопросы/комментарии
- переход в спящий режим или ожидание с помощью ping
- модификация команды сна
- Windows Vista/7/8/10/11
- дополнительные темы
- windows
- windows-10
- командная строка
- windows-explorer
- пакет
9010 2
➦ Windows Batch ➨ Пример Robocopy — перемещение сервера
сообщить об этом объявлении
окон.
Как приостановить выполнение пакетного сценария без добавления команды паузы?
спросил
Изменено
1 год, 6 месяцев назад
Просмотрено
666 раз
Иногда мне нужно выполнить определенные задачи Windows как TrustedInstaller, такие как копирование, удаление, переименование, перемещение файлов/папок и т. д. Поэтому я создал этот пакетный сценарий, который убивает Explorer.exe и запускает Total Commander как TrustedInstaller с помощью PowerRun.
Я хотел бы, чтобы скрипт запускал Total Commander (а я выполняю любые задачи, которые мне нужны), тогда, когда я закрываю Total Commander, Explorer.exe автоматически запускается без необходимости добавлять паузу в скрипт.
Я пытался использовать команды «start» /wait и call, но не могу заставить их работать с PowerRun.
@эхо выключено taskkill /f /im проводник* "%~dp0PowerRun_x64.exe" /SW:0 "TOTALCMD64.EXE" Пауза запустить "" explorer.exe Выход
2
Альтернатива без использования цикла for и с использованием только одной метки
@эхо выключено
>nul 2>&1 %__APPDIR__%Net.exe файл || перейти :Поднять
SetLocal EnableExtensions и установите "_EXE=TOTALCMD64.EXE"
Установите "_KEY="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoRestartShell /t REG_DWORD /d 0 /f"
Регистрация Добавить %_KEY%
Taskkill /f /im проводник*
"%~dp0PowerRun_x64.exe" /SW:0 "%_EXE%"
:ПЕТЛЯ
Тайм-аут / без перерыва 03
Список задач | find /i "%_EXE%" >nul && goto LOOP
Регистрация Добавить %_KEY:0=1%
Запустите "" /b explorer.exe
endlocal & goto eof
:Поднять
Сетлокал енабледелаедэкспансион
Для %%i в (%*) установите "_Args=!_Args! "%%~i""
Установите "_cmd_Args= /x/d/q/c "%~0" !_Args!"
Установите "_ps1=%__APPDIR__%\WindowsPowerShell\v1.