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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

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

Maz



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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.51 до Windows 10) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 4.0, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на текущей версии ОС. Ссылки wdho.ru tinyupload.com dbree.org
 
· Сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 37441 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: Maz, 07:16 24-04-2021
KiloSub



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000, получилось. А две пустые строки - это ^ как-то влияет? Я тут не шарю, он означает начало строки?

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 06:52 01-12-2020 | Исправлено: KiloSub, 06:56 01-12-2020
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, пожалуйста подскажите оптимальный вариант поиска и удаления в указанном каталоге (например, - "D:\MyFolder") и всех его подкаталогах:
   а) файлов по маске, например, - "*Test*.*";
   б) вложенных каталогов (вместе с содержимым) по маске, например, - "*TestFolder*".
Можно ли использовать сразу несколько масок для обеих вариаций?
Хотел ещё уточнить, каким образом использовать символ "!" в сообщениях "Echo", если задействовано, - "SetLocal EnableDelayedExpansion"?
---------------
 
KiloSub
Ого, как оперативно, огромное Вам спасибо!

Всего записей: 657 | Зарегистр. 19-02-2008 | Отправлено: 10:38 01-12-2020 | Исправлено: Artem_Butenko, 11:12 01-12-2020
KiloSub



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

Код:
@echo off
pushd "D:\MyFolder\"
 
echo ----------- Files -----------------------------------------
for /f "tokens=*" %%F in ('dir /a:-d /s /b *Test*.* *Other*') do (
    echo %%F
    REM del /q "%%F"
)
 
echo ----------- Folders ---------------------------------------
for /f "tokens=*" %%D in ('dir /a:d /s /b *TestFolder* *Other*') do (
    echo %%D
    REM rd /s /q "%%D"
)
 
setlocal enabledelayedexpansion
echo Hello, dear friend Artem_Butenko^^!
 
pause
exit

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 11:07 01-12-2020 | Исправлено: KiloSub, 18:39 01-12-2020
Artem_Butenko



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

Цитата:
@echo off
pushd "D:\MyFolder\"
 
echo ----------- Files -----------------------------------------
for /f %%F in ('dir /s /b "*Test*.*"') do (
    echo %%F
    REM del /q "%%F"
)
 
echo ----------- Folders ---------------------------------------
for /f %%D in ('dir /a:d /s /b "*TestFolder*"') do (
    echo %%D
    REM rd /s /q "%%D"
)  

 
Немножко запутался, если pushd "%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\", то кавычки почему-то не помогают. Путь обрезается до "%UserProfile%\AppData\Roaming\Microsoft\Windows\Start". Сейчас проверил, что каталоги и файлы с пробелами в имени не обрабатываются.
---------------
 
KiloSub
 
Проверил, Спасибо! Всё работает исправно!

Всего записей: 657 | Зарегистр. 19-02-2008 | Отправлено: 11:23 01-12-2020 | Исправлено: Artem_Butenko, 11:59 01-12-2020
KiloSub



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko Вроде исправил. Добавил  "tokens=*" в циклы for.

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 11:32 01-12-2020
teleportex

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
приветствую.
не могу ярлык удалить

Код:
cmd.exe /c del /F /Q "%systemdrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessibility\Windows Speech Recognition.lnk"

https://i6.imageban.ru/out/2020/12/01/e315659872b2f3e261af1401495df57d.png
что не так ?

Всего записей: 450 | Зарегистр. 13-02-2013 | Отправлено: 11:55 01-12-2020
KiloSub



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

Код:
Windows Speech Recognition.lnk

?

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 12:11 01-12-2020 | Исправлено: KiloSub, 12:51 01-12-2020
Artem_Butenko



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

Цитата:
@echo off
pushd "D:\MyFolder\"
 
echo ----------- Files -----------------------------------------
for /f %%F in ('dir /s /b "*Test*.*"') do (
    echo %%F
    REM del /q "%%F"
)
 
echo ----------- Folders ---------------------------------------
for /f %%D in ('dir /a:d /s /b "*TestFolder*"') do (
    echo %%D
    REM rd /s /q "%%D"
)  

 
Ещё раз большое Вам человеческое спасибо. Подскажите, как включить в сценарие поддержку кириллицы, в именах каталогов и файлов масок? Почему-то, с кириллицей не дружит.

Всего записей: 657 | Зарегистр. 19-02-2008 | Отправлено: 12:13 01-12-2020 | Исправлено: Artem_Butenko, 12:13 01-12-2020
KiloSub



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko да я сам, можно сказать новичок. Обычно лучше писать код в кодировке 866, тогда сразу русские буквы правильно отобразятся. А если скажем код пишется в кодировке 1251, то добавляешь в код строку

Код:
chcp 1251 >nul



Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 12:22 01-12-2020 | Исправлено: KiloSub, 12:38 01-12-2020
teleportex

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

Цитата:
Windows Speech Recognition.lnk

да ты гений.
   
чувствовал, что решение элементарное, но не допёр сам.

Всего записей: 450 | Зарегистр. 13-02-2013 | Отправлено: 12:53 01-12-2020 | Исправлено: teleportex, 12:55 01-12-2020
KiloSub



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko Я подправил там, для файлов все-таки сделал dir /a:-d, а то папки тоже обрабатывало.  

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 18:23 01-12-2020 | Исправлено: KiloSub, 18:24 01-12-2020
local5805

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите команду копирования с использованием пути?Если путь существует (xcopy "C:\music\hlam" "C:\music\metal")то копирует папки и файлы,а если в пути нет папки metal,то игнорирует.Можно командой robocopy ну или другой командой.

Всего записей: 61 | Зарегистр. 26-04-2011 | Отправлено: 04:48 02-12-2020 | Исправлено: local5805, 05:12 02-12-2020
Fenrizz



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
local5805
Сначала проверить, что такой каталог существует, если нет, то создать

Цитата:
if not exist "C:\music\metal" md "C:\music\metal"

Всего записей: 410 | Зарегистр. 12-09-2017 | Отправлено: 09:09 02-12-2020
KiloSub



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

Код:
if exist "c:\music\metal\" xcopy /y /e "c:\music\hlam\" "c:\music\metal\"

xcopy

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 11:29 02-12-2020 | Исправлено: KiloSub, 11:34 02-12-2020
A27

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

Цитата:

Код:
Windows Speech Recognition.lnk

?

В чём прикол?
 
 
 
Добавлено:
 
Вопрос: Это баг или да? Код ниже:

Код:
@Echo Off
Set I=10
If A==A (
Echo I1=%I%
Set I=20
Echo I2=%I%
)
Echo I3=%I%

 
Результат:

Код:
I1=10
I2=10
I3=20

Всего записей: 55 | Зарегистр. 30-03-2017 | Отправлено: 14:51 02-12-2020 | Исправлено: A27, 14:57 02-12-2020
GCRaistlin



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

Цитата:
Это баг или да?

SET /?

Всего записей: 3086 | Зарегистр. 18-04-2005 | Отправлено: 15:00 02-12-2020
KiloSub



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

Цитата:
В чём прикол?  

Там отображается не настоящее имя файла. Рядом скрытый «desktop.ini» с описанием отображения. Если я правильно выразился.

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 15:19 02-12-2020
A27

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

Цитата:
SET /?

Понял, значит баг.
 
 
KiloSub, теперь ясно, спасибо.

Всего записей: 55 | Зарегистр. 30-03-2017 | Отправлено: 15:22 02-12-2020 | Исправлено: A27, 15:22 02-12-2020
local5805

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

Всего записей: 61 | Зарегистр. 26-04-2011 | Отправлено: 15:24 02-12-2020 | Исправлено: local5805, 15:25 02-12-2020
GCRaistlin



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

Цитата:
Понял, значит баг.

Ну и замечательно. Счастье - в неведении.

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

Всего записей: 3086 | Зарегистр. 18-04-2005 | Отправлено: 15:39 02-12-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru