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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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

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



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

----------
Мама не горюй

Всего записей: 3581 | Зарегистр. 29-01-2005 | Отправлено: 01:13 19-02-2021 | Исправлено: boss911, 02:12 19-02-2021
ewild

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

Код:
 
set a=a1 a2 a3 a4
set b=b1 b2 b3 b4
for %%i in (%a%) do (
for %%j in (%b%) do (
echo %%i %%j
))

Результатом есть полный перебор комбинаций %i и %j из наборов %a и %b, т.е. всего 16 от a1 и b1 до  a4 и b4?
 
Как сделать, чтобы переменные %i и %j комбинировались из наборов только последовательно попарно (пара первых значений, пара вторых и т.д.), то есть чтобы в итоге получить четыре их комбинации: a1 и b1, a2 и b2, a3 и b3, a4 и b4?

Всего записей: 1087 | Зарегистр. 13-08-2005 | Отправлено: 22:09 21-02-2021
Inoz2000



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

Код:

set a=a1 a2 a3 a4
set b=b1 b2 b3 b4
SET/A t=1
:TokenPlus
SET P=
for /f "tokens=%t%" %%i in ("%a%") do (
for /f "tokens=%t%" %%j in ("%b%") do (
SET P=%%i %%j
))
if not "%P%"=="" echo %P%&SET/A t+=1&goto :TokenPlus

Всего записей: 3403 | Зарегистр. 23-04-2009 | Отправлено: 22:48 21-02-2021
ewild

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

Всего записей: 1087 | Зарегистр. 13-08-2005 | Отправлено: 23:47 21-02-2021
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
A27
Цитата:
Запускать можно от любой учётной записи имеющей права администратора, например под той же, под которой работает 1C сервер. А от последнего пользователя требуется только факт его присутствия с последующим выходом, т.е. важно лишь событие, т.к. последний пользователь будет всегда разный. Информация о последнем пользователе должна приходить от 1C или её нужно получать от ОС.
Как это сделать? Заметил, что не всегда выполняется bat-файл. Даже в 1С прописал момент запуска bat-файла в журнал регистрации. Запись в ЖР есть, результата выполнения bat-файла - нет. Результат (даже отрицательный) пишется лог-файл. А в данном случае лог-файл пустой, будь то bat-файл вообще не запускался!?

Всего записей: 5417 | Зарегистр. 23-06-2008 | Отправлено: 07:52 23-02-2021 | Исправлено: M_Volkov, 08:14 23-02-2021
Fenrizz



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
Напишите в начале bat-файла

Код:
whoami >file1.log

Всего записей: 381 | Зарегистр. 12-09-2017 | Отправлено: 08:06 23-02-2021 | Исправлено: Fenrizz, 08:08 23-02-2021
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fenrizz
Извиняюсь за тупость, что это значит? Вместо file1.log свой писать?

Всего записей: 5417 | Зарегистр. 23-06-2008 | Отправлено: 08:20 23-02-2021
Fenrizz



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
Команда whoami выведет учтную запись пользователя, под которым запущен скрипт. Потом в файле посмотрите.  
https://ab57.ru/cmdlist/whoami.html
 

Цитата:
Вместо file1.log свой писать?

Можно свой, тогда c двумя стрелками >>
whoami >>file.log

Всего записей: 381 | Зарегистр. 12-09-2017 | Отправлено: 08:27 23-02-2021
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fenrizz
Есть в bat-файле команда set "LogName=%~dp0AAAAkit.log", значить 1-й строкой написать:
Код:
whoami >>%~dp0AAAAkit.log

Добавлено:
Добавил, запустил копию 1С, в лог-файле написалась моя админская учетная запись. Посмотрю, что напишет при завершении рабочей базы...
На вкладке Безопасность у Все стоит галочка Чтение и выполнение. Что еще проверить?

Всего записей: 5417 | Зарегистр. 23-06-2008 | Отправлено: 08:34 23-02-2021 | Исправлено: M_Volkov, 09:55 23-02-2021
Fenrizz



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

Цитата:
Есть в bat-файле команда set "LogName=%~dp0AAAAkit.log", значить 1-й строкой написать:

Код:
whoami >>%~dp0AAAAkit.log  

Да
 

Цитата:
Добавил, запустил копию 1С, в лог-файле написалась моя админская учетная запись. Посмотрю, что напишет при завершении рабочей базы...  На вкладке Безопасность у Все стоит галочка Чтение и выполнение. Что еще проверить?

Это лучше в теме по 1С спросить, я в ней не разбираюсь.
Из общих соображений можно добавить после каждого шага в bat-файле

Код:
echo Step xxx done >>%~dp0AAAAkit.log  

чтобы понять, на каком шаге валится.

Всего записей: 381 | Зарегистр. 12-09-2017 | Отправлено: 12:06 23-02-2021
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fenrizz
Цитата:
лучше в теме по 1С спросить... Даже в 1С прописал момент запуска bat-файла в журнал регистрации.
В ЖР обнаружил запись повторного запуска bat-файла через 2 с. (хотя этого быть не должно) Это могло отменить выполнение bat-файла? В нем есть пауза 2 мин. перед выполнением основой команды.

Всего записей: 5417 | Зарегистр. 23-06-2008 | Отправлено: 17:47 23-02-2021 | Исправлено: M_Volkov, 18:59 23-02-2021
Xant1k



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для чего добавляют аргумент %1 или "%1" или %U? Например так:
HKEY_CLASSES_ROOT\ChromeHTML\shell\open\commandreg --disk-cache-dir=r:\Temp -- "%1"
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disk-cache-dir=r:\Temp --disk-cache-size=2147483648 %1
 
Это что-то вроде возврата первого параметра? Не пойму как это работает и для чего

Всего записей: 2918 | Зарегистр. 20-02-2009 | Отправлено: 08:25 24-02-2021 | Исправлено: Xant1k, 08:26 24-02-2021
Fenrizz



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xant1k
https://ss64.com/nt/syntax-args.html

Всего записей: 381 | Зарегистр. 12-09-2017 | Отправлено: 08:31 24-02-2021
Retro222

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите.
Вот есть множество консольных программ. Они работают с файлами.
Но кириллические символы отображаются кракозябрами.
Как сделать так, чтобы нормально пути и имена отображались?

Всего записей: 260 | Зарегистр. 21-09-2018 | Отправлено: 03:28 02-03-2021
MihailM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Retro222, как то так :
Код:
 
chcp 1251
dir /b /s /a:-d "E:\" >"list.txt"  
 
tree E:\ /a /f > list2.txt  
Кодировку указать , выделил как это сделать.


----------
Где и как вы храните свои пароли ?, 2

Всего записей: 2296 | Зарегистр. 19-10-2003 | Отправлено: 08:16 02-03-2021 | Исправлено: MihailM, 08:20 02-03-2021
Retro222

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM, это пакетный файл?
Меня интересует, как сделать это в интерактивном режиме?
 
Т.е., я в любой папке запускаю CMD, ввожу одну команду, и вижу нормальные символы.

Всего записей: 260 | Зарегистр. 21-09-2018 | Отправлено: 08:55 02-03-2021
bytie

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Retro222
Нет таких универсальных команд. Условно, программа выводит в терминал некую последовательность символов. Если программа выдаёт UTF-8 и программа терминала понимает, что это UTF-8 — будет читаемый текст. Если программа выдаёт последовательность байт в кодировке cp1251, а терминал этого не знает — будет непонятно что.
 
Пробуйте набирать в строке chcp 65001, chcp 1251 и прочее и смотрите на результаты вывода программ.

Всего записей: 258 | Зарегистр. 18-08-2005 | Отправлено: 09:13 02-03-2021
MihailM

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

Цитата:
это пакетный файл?  
да , тут мне надо было , чтоб сохранять в файл именно в win-кодировке.  
Если вы имеете ввиду режим просмотра консоли , то можно побаловаться здесь :  
1. http://prntscr.com/10b2svx  
2. http://prntscr.com/10b2tjp  
Но вариант немного гемморный , и вроде под каждую команду надо заново менять настройки. Не помню , давно это было.
А так да , как написал bytie, в какой кодировке заложен вывод текста в программе, в той и будет вывод.. Как то так..


----------
Где и как вы храните свои пароли ?, 2

Всего записей: 2296 | Зарегистр. 19-10-2003 | Отправлено: 09:34 02-03-2021
clio77



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть что то лаконичное для переименования группы файлов, чтобы год "подвинуть вперед". ))
группа
File_Name_1_3_2011.pdf
File_Name_4_11_2012.pdf
File_Name_21_12_2016.pdf
 
в  
группа
File_Name_2011_1_3.pdf
File_Name_2012_4_11.pdf
File_Name_2016_21_12.pdf

----------
Случайные открытия делают только подготовленные умы©. /Блез Паскаль / География экспорта СССР-России с 1987-2019

Всего записей: 2427 | Зарегистр. 27-10-2003 | Отправлено: 21:25 02-03-2021 | Исправлено: clio77, 21:25 02-03-2021
Fenrizz



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

Код:
@echo off
 
for /f "tokens=1,2,3,4,5,6 delims=_." %%A in ('dir /B /A-D /O:N *.pdf') do rename %%A_%%B_%%C_%%D_%%E.%%F %%A_%%B_%%E_%%C_%%D.%%F
 

Всего записей: 381 | Зарегистр. 12-09-2017 | Отправлено: 22:32 02-03-2021 | Исправлено: Fenrizz, 22:34 02-03-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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