Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии: bat, cmd

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
часть 1 [?] | часть 2 [?] | часть 3 [?] | часть 4 [?] | часть 5 [?] | часть 6 [?]
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ more ].  

Смежные темы:
В помощь системному администратору > Автоматизация администрирования [?]
Microsoft Windows > Сценарии Windows [?]

Полезные ссылки:
· Из Windows XP Professional Product Documentation:
> Описание Cmd.exe > Command shell overview
> Using batch files > Using batch parameters > Using filters > Using command redirection operators
 
· Уроки bat-аники (для начинающих): первый и второй
· Курс из 19 лекций "Командная строка и сценарии Windows"
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Выполнение BAT-скриптов без вызова окна консоли [?]
· cmdow - изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах [?]
· blat - отправка почты из консоли
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) [?] ещё [?] и ещё [?]
· Переход из 32-битной версии cmd.exe в 64-битную (1) [?] (2) [?](3) [?]
 
· Архив всевозможных версий cmd.exe (от Windows NT 3.10 до Windows 11 +Win95cmd +ReactOS) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на своей версии ОС.
 
· Большой сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 39366 | Зарегистр. 26-02-2002 | Отправлено: 22:41 20-06-2024 | Исправлено: Maz, 21:52 28-09-2024
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
по hidcon не знал, что делает отдельные окна.
powerrun пользуюсь давно, с разными ключами, но там нет ключа /wait - https://i.ibb.co/rRFd76KD/2025-04-10-07-48-56.png
ps само собой я это все проверял предварительно, прежде, чем обратиться за помощью...

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 4048 | Зарегистр. 15-10-2007 | Отправлено: 07:51 10-04-2025
xrun1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wu Tang
Извините, что вмешиваюсь. Обновите PowerRun.

Всего записей: 927 | Зарегистр. 26-12-2009 | Отправлено: 12:05 10-04-2025
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xrun1
я 1,7 сразу попробовал, как она вышла, в ней есть бага, если упаковываешь в exe, то потом при тихом инсталле, вылазит окно для подтверждения, я и сам это выявил и об этом написали в комментах люди, и было отвечено, юзайте 1,6

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 4048 | Зарегистр. 15-10-2007 | Отправлено: 23:52 10-04-2025
AVAV

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день! Просьба помочь скорректировать скрипт по поиску одного самого нового файла в двух разных сетевых директориях (в разное время делаются бэкапы на разные ресурсы, надо найти самый последний для его копирования). В обработках увы, не силен, обычно ищу готовые решения, пытаюсь переделать под себя.
   Следующая конструкция находит самый последний файл в каждой из папок, это работает.
 
SET BackupPath1=\\Srv01\E$\VRM1
FOR /F "delims=|" %%I IN ('DIR "%BackupPath1%\SRV_*.7z" /B /O:D') DO SET NewestFile1=%%I
ECHO Newer file is %NewestFile1%
SET BackupPath2=\\Srv02\F$\VRM1
FOR /F "delims=|" %%I IN ('DIR "%BackupPath2%\SRV_*.7z" /B /O:D') DO SET NewestFile2=%%I
ECHO Newer file is %NewestFile2%
 
   Но вот как теперь из них выбрать самый последний не могу разобраться. Обычно в примерах фигурирует одна папка, а тут разные.  
Нашел, что якобы следующая обработка может помочь, но получаю ошибку Непредвиденное появление %.
 
For /F "Delims=|" %% I In ('xcopy /DHYL %BackupPath1%\%NewestFile1% %BackupPath2%\%NewestFile2% ^|Findstr /I "SRV-_"')  Do  set /a _Newer =%%I  2 > Nul
If %_Newer == 1 (Set _Newer=%BackupPath1%\%NewestFile1%) Else (Set _Newer=%BackupPath2%\%NewestFile2%)
ECHO %_Newer% is (probably) newer.

Всего записей: 23 | Зарегистр. 16-05-2003 | Отправлено: 19:58 11-04-2025
Jonmey

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVAV

Код:
For /F "Delims=|" %% I In ...
to
Код:
For /F "Delims=|" %%I In ...

Всего записей: 1392 | Зарегистр. 17-01-2011 | Отправлено: 20:40 11-04-2025 | Исправлено: Jonmey, 20:41 11-04-2025
FriendOldMouse



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени.
Нужен простой батник, который просто очищает от файлов и папок с подпапками указанную директорию.
Есть вот такой батник
 
@ECHO OFF
 
SET THEDIR=название-директории-в-которой-происходит-удаление
 
Echo Удаляем все файлы в %THEDIR%
DEL "%THEDIR%\*" /F /Q /A
 
Echo Удаляем все директории в %THEDIR%
FOR /F "eol=| delims=" %%I in ('dir "%THEDIR%\*" /AD /B 2^>nul') do RMDIR /Q /S "%THEDIR%\%%I"
@ECHO Удаление завершено.
 
EXIT
 
Но он не работает.  
Если кто подскажет в решении вопроса буду очень признателен!

Всего записей: 135 | Зарегистр. 25-10-2024 | Отправлено: 23:30 11-04-2025
Simple Code



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Нужен простой батник, который просто очищает от файлов и папок с подпапками указанную директорию.


Код:
 
@echo off
set "PathDir=путь\до папки\в которой\происходит\удаление"
pushd "%PathDir%"
rd /S /Q "%PathDir%"
popd
 

Всего записей: 285 | Зарегистр. 19-11-2022 | Отправлено: 00:06 12-04-2025
alexnov66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FriendOldMouse

Цитата:
Но он не работает.

а вас кто учил писать в верхнем регистре.
del /f /q /a C:\удаляемая\директория\
 
если путь содержит пробелы то надо брать в кавычки
del /f /q /a "C:\удаляемая\директория\*.*"
 
так же директории
эта удаляет каталоги вместе с файлами
rmdir /s /q "C:\удаляемая\директория"

Всего записей: 1500 | Зарегистр. 29-08-2005 | Отправлено: 02:45 12-04-2025 | Исправлено: alexnov66, 02:58 12-04-2025
FriendOldMouse



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.  
Убрал верхний регистр.  
Проверил вариант Simple Code.  
 К сожалению ни то, ни то не помогло.  
Папка "C:\Windows\Удаление"  - не  очищается.

Всего записей: 135 | Зарегистр. 25-10-2024 | Отправлено: 10:55 12-04-2025
AVAV

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, действительно, не заметил пробел. Спасибо! Правда конструкция "For /F "Delims=|" %%I In ('xcopy /DHYL %BackupPath1%\%NewestFile1% %BackupPath2%\%NewestFile2% ^|Findstr /I "SRV_"')  Do  set /a _Newer =%%I  2 > Nul" все равно не работает, получаю сообщение Об ошибке в синтаксисе команды.

Всего записей: 23 | Зарегистр. 16-05-2003 | Отправлено: 11:47 12-04-2025
alexnov66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FriendOldMouse

Цитата:
Папка "C:\Windows\Удаление"  - не  очищается.

ну я по вашим ключам писал, если не полениться и заглянуть в мануал то команда должна быть такая для удаления файлов
/s применяет команду удаления ко всем файлам в указанной директории и всех её поддиректориях
del /f /s /q "C:\Windows\Удаление"
 
с командой rmdir внимательно, она удаляет и основную директорию
а то у вас очистится вся папка windows
команда
rmdir /s /q "C:\Windows\Удаление"
также удалит папку удаление

Всего записей: 1500 | Зарегистр. 29-08-2005 | Отправлено: 12:07 12-04-2025 | Исправлено: alexnov66, 12:26 12-04-2025
Jonmey

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AVAV

Код:
SET BackupPath1=\\Srv01\E$\VRM1
FOR /F "delims=|" %%I IN ('DIR "%BackupPath1%\SRV_*.7z" /B /O:D') DO SET NewestFile1=%%I
ECHO Newer file is %NewestFile1%
SET BackupPath2=\\Srv02\F$\VRM1
FOR /F "delims=|" %%I IN ('DIR "%BackupPath2%\SRV_*.7z" /B /O:D') DO SET NewestFile2=%%I
ECHO Newer file is %NewestFile2%
 
FOR /F "delims=|" %%I IN ('xcopy /DHYL %BackupPath1%\%NewestFile1% %BackupPath2%\%NewestFile2% ^| findstr /I "SRV_"') DO SET /A _Newer = %%I 2> NUL
 
IF %_Newer == 1 (
SET _Newer=%BackupPath1%\%NewestFile1%
) ELSE (
SET _Newer=%BackupPath2%\%NewestFile2%
)
ECHO %_Newer% is (probably) newer

Всего записей: 1392 | Зарегистр. 17-01-2011 | Отправлено: 18:26 12-04-2025
AVAV

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonmey
 
   Огромная благодарность! Работает!

Всего записей: 23 | Зарегистр. 16-05-2003 | Отправлено: 19:21 12-04-2025
FriendOldMouse



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот рабочий вариант. Может пригодится кому.
 
@ECHO OFF
 
set TheDir="C:\Trash\"
 
Echo Удаляем все файлы в %TheDir%
del "%TheDir%\*" /f /q /a
 
Echo Удаляем все директории в %TheDir%
for /f "eol=| delims=" %%I in ('dir "%TheDir%\*" /ad /b 2^>nul') do rd/Q /S "%TheDir%\%%I"
@ECHO Удаление завершено.
 
EXIT
 
Единственное - если делать в каталоге Trash копию существующей папки ("Новая папка"), то получается папка с именем:
"Новая папка — копия". И вот такая папка не удаляется (видимо из-за символа "—").

Всего записей: 135 | Зарегистр. 25-10-2024 | Отправлено: 19:40 12-04-2025 | Исправлено: FriendOldMouse, 19:41 12-04-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FriendOldMouse

Цитата:
если делать в каталоге Trash копию существующей папки ("Новая папка"), то получается папка с именем:
"Новая папка — копия". И вот такая папка не удаляется (видимо из-за символа "—")

Добавьте в начало

Код:
chcp 65001


----------
Magically yours
Raistlin

Всего записей: 4262 | Зарегистр. 18-04-2005 | Отправлено: 19:50 12-04-2025
FriendOldMouse



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin

Всего записей: 135 | Зарегистр. 25-10-2024 | Отправлено: 20:13 12-04-2025
MKN



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такой сайт : https://chrome.noki.eu.org/edge
где прямо на странице есть  прямая ссылка на скачивание последней версии EdgeChrome (это человеческий дистр, который можно распаковать 7z и вручную обновить Edge)
 
Возможно ли с этого сайта командно получить ссылку на скачивание (в файл или ещё как...) или просто скачать дистр ?  
 
(С помощью curl скачивается страница без ссылки...  Вероятно cсылку помещает какой то скрипт?)

Всего записей: 5049 | Зарегистр. 21-04-2005 | Отправлено: 20:17 12-04-2025 | Исправлено: MKN, 20:23 12-04-2025
alexnov66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FriendOldMouse
ключ /a для удаления файлов с определённым атрибутом, для удаления абсолютно всех файлов вам надо использовать ключ /s

Всего записей: 1500 | Зарегистр. 29-08-2005 | Отправлено: 20:49 12-04-2025
Simple Code



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FriendOldMouse

Цитата:
Проверил вариант Simple Code.  
 К сожалению ни то, ни то не помогло.  
Папка "C:\Windows\Удаление"  - не  очищается.

Должно работать нормально.
Если в пути имеется кириллица, батник нужно сохранить в кодировке 866 или добавить chcp 65001 >nul.
Если в пути есть пробелы, то путь нужно взять в "кавычки".
Полный пример:

Код:
 
@echo off
chcp 65001 >nul
set "PathDir=путь\до папки\в которой\происходит\удаление"
pushd "%PathDir%"
rd /S /Q "%PathDir%" >nul 2>&1
popd
 

Всего записей: 285 | Зарегистр. 19-11-2022 | Отправлено: 21:00 12-04-2025 | Исправлено: Simple Code, 21:06 12-04-2025
MaraGame24



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые скриптоделы
 
Мне нужно принудительно удалить файл из папки с относительным путем,с задержкой 15сек.---> \Windows\System32\DriverStore\FileRepository\ФАЙЛ.inf
Помогите пожалуйста.

Всего записей: 1444 | Зарегистр. 25-11-2023 | Отправлено: 21:25 12-04-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии: bat, cmd


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru