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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 61 62 63 64 65 66 67 68 69 70 71 72

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

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

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



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

Цитата:
В батниках можно загонять переменки в "!" ?

Не понял.

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

Всего записей: 3216 | Зарегистр. 18-04-2005 | Отправлено: 00:11 29-01-2022
insorg



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Та я тоже не особо. Вроде всю жизнь "%" юзал, а тут сюр. Я такой сюр с "!" только в конфигах sfx модуля 7zSD видел.
 
Добавлено:
И не совсем понятно, чего плохого, если работает.
 
Добавлено:
Ладно, допёр с "!", это enabledelayedexpansion так работает. Без него - да, переменку одну в другую не завернёшь, но такое даже в голову не пришло бы, тем более с проверкой на равно...

Всего записей: 2366 | Зарегистр. 04-11-2010 | Отправлено: 00:24 29-01-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Всегда будет валидной работа с именем "!", независимо от того, хотите вы этого или нет. А также с именами "1 2" и т. п.
 
Все-таки можно и хорошо:

Код:
 
rem Символ перевода строки. Использование: %_nl%
set _nl=^^^
 
^
 
 
rem Don't delete 2 blank lines above
 
set /p "UserJob=Job: "
set JobList=1%_nl%2%_nl%9%_nl%A%_nl%M%_nl%N
 
setlocal enabledelayedexpansion
for /f "delims=" %%A in ("!JobList!") do (
  if not errorlevel 1 (
    endlocal
    set CurrentJob=%%A
    setlocal enabledelayedexpansion
    if /i !CurrentJob!==!UserJob! color 00
  )
)
if not errorlevel 1 echo Invalid job
 

Можно, в принципе, и в одну строчку блок FOR записать. Только зачем...
 
Насчет "!" см. set /?.

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

Всего записей: 3216 | Зарегистр. 18-04-2005 | Отправлено: 01:11 29-01-2022 | Исправлено: GCRaistlin, 01:27 29-01-2022
Fenrizz



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

Цитата:
Каким однострочником можно явно указать, чтобы батник прекратил работу, если значение переменной не является одним из указанных? Например, юзер ткнул русскую буковку или всякие там точки/тире и т.д., что явно отсутствует в списке.  


Код:
if /I NOT "%UserJob%"=="1" if /I NOT "%UserJob%"=="2" if /I NOT "%UserJob%"=="9" if /I NOT "%UserJob%"=="A" if /I NOT "%UserJob%"=="M" if /I NOT "%UserJob%"=="N" echo GOOD BYE & exit


Всего записей: 485 | Зарегистр. 12-09-2017 | Отправлено: 04:36 29-01-2022 | Исправлено: Fenrizz, 04:39 29-01-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
А пользователь введет "&.

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

Всего записей: 3216 | Зарегистр. 18-04-2005 | Отправлено: 11:33 29-01-2022
Fenrizz



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

Цитата:
А пользователь введет "&.

И что?

Всего записей: 485 | Зарегистр. 12-09-2017 | Отправлено: 11:48 29-01-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
И ваш код повалится.

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

Всего записей: 3216 | Зарегистр. 18-04-2005 | Отправлено: 11:54 29-01-2022
Fenrizz



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
То есть прекратит работу? Так это от него и требуется в соответствии с ТЗ.

Цитата:
Каким однострочником можно явно указать, чтобы батник прекратил работу, если значение переменной не является одним из указанных?

 
Но можно добавить  

Код:
set /p UserJob=Select the job:
set UserJob=%UserJob:"=%
set UserJob=%UserJob:&=%
set UserJob=%UserJob:^=%


Всего записей: 485 | Зарегистр. 12-09-2017 | Отправлено: 12:02 29-01-2022 | Исправлено: Fenrizz, 12:14 29-01-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
То есть повалится. Работа прекращается по exit. Но до него дело не дойдет.

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

Всего записей: 3216 | Зарегистр. 18-04-2005 | Отправлено: 12:11 29-01-2022
Susie7



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mklink /D "N:\Tomb Raider. Anniversary \\C: - не найден файл!
 
Мэйби жёсткую ссылку попробовать, вроде, она лучше?
?


----------
Принцессы бывают не только в сказках

Всего записей: 889 | Зарегистр. 11-07-2018 | Отправлено: 16:44 29-01-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Susie7
Кавычку лучше закройте.
 
Добавлено:
К тому же синтаксис у вас неправильный.
mklink /j C:\DirNew C:\DirOld

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

Всего записей: 3216 | Зарегистр. 18-04-2005 | Отправлено: 16:49 29-01-2022
Susie7



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

Цитата:
Кавычку лучше закройте.
 

 
mklink /D "N:\Tomb Raider. Anniversary \\C:" ?
Ничего не изменилось.
 
HardLink бы кто-нибудь подсказал...


----------
Принцессы бывают не только в сказках

Всего записей: 889 | Зарегистр. 11-07-2018 | Отправлено: 16:55 29-01-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Susie7
См. выше. Вообще, с компьютером принято совершать осмысленные действия.

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

Всего записей: 3216 | Зарегистр. 18-04-2005 | Отправлено: 17:08 29-01-2022
Susie7



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

Цитата:
К тому же синтаксис у вас неправильный.

А какой правильный?
Кстати, скачала щас FAR и попробую им...


----------
Принцессы бывают не только в сказках

Всего записей: 889 | Зарегистр. 11-07-2018 | Отправлено: 17:20 29-01-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 61 62 63 64 65 66 67 68 69 70 71 72

Компьютерный форум 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

Рейтинг.ru