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

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

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

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

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
А сама-то Windows у Вас какая? x32 или x64? Мне кажется, какая-то "самопальная" сборка с торрента

Всего записей: 431 | Зарегистр. 12-09-2017 | Отправлено: 18:57 21-10-2021 | Исправлено: Fenrizz, 18:58 21-10-2021
GCRaistlin



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

Цитата:
в капиталистическом тырнете и про chkdsk is not available for ntfs drives
я упоминаний не встретил

Google дает три результата, в двух из которых упоминается про ulib.dll.
 

Цитата:
Батник с кодом который Вы написали я запускал из под проводника, а код запускал из консоли имеено как и Вы

Нужно было запускать оттуда, откуда запускали изначально. Это же очевидно вроде.

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

Всего записей: 3145 | Зарегистр. 18-04-2005 | Отправлено: 18:58 21-10-2021
Smitis



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

Цитата:
Но можно проверить.

К слову, проще так:
where chkdsk.exe

----------
Разум когда-нибудь победит

Всего записей: 2470 | Зарегистр. 09-02-2003 | Отправлено: 20:55 21-10-2021 | Исправлено: Smitis, 20:55 21-10-2021
kot1313



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

Цитата:
А сама-то Windows у Вас какая? x32 или x64? Мне кажется, какая-то "самопальная" сборка с торрента  

Я ж писал на последних страницах, что у меня Типовая W7x64SP1ru. Если нужно, то Уточню - prof с обновлениями как минимум до конца 2019 года. Дальше не обновлял - незачем.

Цитата:
Нужно было запускать оттуда, откуда запускали изначально

Ну дак я так и делал ...
Мало того, Вы ведь сами написали откуда и как запустить. я в точности следовал Вашим указаниям.
Из консоли запустил без удвоения процентов и из проводника батник с удвоения процентов в коде ...
 
Добавлено:
Smitis

Цитата:
К слову, проще так:
where chkdsk.exe

У меня выдал 64битную версию в папке System32
(она то у меня как раз батником из под проводника и не пашет, о чем я писал выше)
Кстати, версии chkdsk.exe в x86 (в SysWOW64) и x64 (в System32) имеют разные размеры.
То есть это разные файлы.

Всего записей: 2394 | Зарегистр. 11-12-2002 | Отправлено: 23:47 21-10-2021 | Исправлено: kot1313, 01:26 22-10-2021
Smitis



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

Цитата:
В батнике очевидно вначале нужно вложить код, который бы определял битность операционки и в зависимости от оной запускал тот файл, который нужен.

В операционке x64 в папке System32 находятся нормальные x64 программы. Но только для нормальных x64 и "ненормальных" x32, которые знают про особенности системы x64. А для обычных программ x32 папка System32 будет содержать программы и библиотеки x32. Называется File System Redirector
Почему в TC x32 до сих пор не сделано отключение этого редиректа ответить может только Гислер. Наверное.
 
Если хотите запустить из TC x32 программу x64 используйте в пути вместо system32 - sysnative. Но проще, imho, перейти на TC x64.

----------
Разум когда-нибудь победит

Всего записей: 2470 | Зарегистр. 09-02-2003 | Отправлено: 00:06 22-10-2021 | Исправлено: Smitis, 00:09 22-10-2021
kot1313



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Извините, но если Вы прочитаете мои предыдущие посты,  
то поймёте, что с батником в тоталале никаких проблем вообще не было - усё работало штатно.  
C TC любой разрадности.
 
Проблемы были тока при запуске батника из под проводника.  
Батник писал билиберду про недопустимость для дисков NTFS.  
 
Причина была в том, что, если в батнике не прописать абсолютный путь до исполняемого файла X86 версии,  
то батник из под проводника в моей операционке (у меня в Win7Sp1x64ru) инициирует запуск chkdsk.exe версии x64 из папки System32,  
который и выдаёт билиберду про про недопустимость для дисков NTFS.
 
Smitis
Fenrizz
GCRaistlin
Спасибо Вам за подсказки и разъяснения

На этом я думаю казус с этим батником можно считать закрытым.
А КОСЯКИ в работе chkdsk.exe к теме коммандной строки и батников не относится ...

Всего записей: 2394 | Зарегистр. 11-12-2002 | Отправлено: 02:42 22-10-2021 | Исправлено: kot1313, 02:48 22-10-2021
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Дело не в батнике, а в том, что 64-разрядный chkdsk в вашей системе почему-то отказывается работать. Кстати, а с FAT-дисками (флешкой) у него как?

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

Всего записей: 3145 | Зарегистр. 18-04-2005 | Отправлено: 08:55 22-10-2021
kot1313



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

Цитата:
FAT-дисками (флешкой) у него как

флешки FAT проверяет нормально

Всего записей: 2394 | Зарегистр. 11-12-2002 | Отправлено: 13:05 22-10-2021
GCRaistlin



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

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

Всего записей: 3145 | Зарегистр. 18-04-2005 | Отправлено: 13:17 22-10-2021
A27

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

Код:
chkdsk.exe d: /f > CON
 
chkdsk.exe d: /f > file.txt

 
 
И ещё вопрос. Если делаю так:  
 

Код:
chcp 1251
chkdsk.exe d: /f > file.txt

 
то при открытии file.txt в блокноте вместо русских символов вижу иероглифы.
 
Как сделать читаемую кодировку?

Всего записей: 58 | Зарегистр. 30-03-2017 | Отправлено: 19:09 26-10-2021 | Исправлено: A27, 19:29 26-10-2021
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A27 topic.cgi?forum=5&topic=50615&start=1000#4

----------
Мы все умрём. (-:

Всего записей: 3506 | Зарегистр. 23-04-2009 | Отправлено: 19:18 26-10-2021
A27

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000, это не одновременный. Тут сначала пишется в файл, затем выводится на экран. Поадекватнее способа нет? Например, продублировать устройство вывода или по-другому как-то?

Всего записей: 58 | Зарегистр. 30-03-2017 | Отправлено: 19:26 26-10-2021 | Исправлено: A27, 19:30 26-10-2021
GCRaistlin



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

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

Всего записей: 3145 | Зарегистр. 18-04-2005 | Отправлено: 19:32 26-10-2021
BorlandIMHO

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

Цитата:
Как реализовать одновременный вывод на экран и в файл?  

Следующий пост за приведённым Inoz2000, утилита tee http://forum.ru-board.com/topic.cgi?forum=5&topic=50615&start=1000#5

Цитата:
Как сделать читаемую кодировку?

Поменять шрифт/кодировку в "Блокноте"?..
Или сразу поменять средство просмотра на что-то более интуитивное...


----------
http://www.imho.ws

Всего записей: 1269 | Зарегистр. 12-10-2006 | Отправлено: 19:58 26-10-2021
mithridat1



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

Цитата:
A27
 
Цитата:
Как реализовать одновременный вывод на экран и в файл?  
 
Следующий пост за приведённым Inoz2000, утилита tee http://forum.ru-board.com/topic.cgi?forum=5&topic=50615&start=1000#5

В свое время искал нормальный виндовый порт tee, в итоге подошел только бинарник из этого проекта https://github.com/WinLAFS/wintee

Всего записей: 4424 | Зарегистр. 05-01-2006 | Отправлено: 22:47 26-10-2021
BorlandIMHO

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

Цитата:
искал нормальный виндовый порт tee, в итоге подошел только бинарник из этого проекта

"Нормальность порта" - понятие сугубо относительное.
Судя по изменённому названию "нормального порта" - это не "порт" родной никсовой tee, а утилита со схожим функционалом, но имеющая некие существенные функциональные отличия от прародительницы.
Предпочитаю всё-таки иметь дело с оригиналом, дабы иметь одинаковый результат функционирования утилиты независимо от ОС...
Вы бы хоть обозначили, в чём его коренное отличие от других портов, делающее его лучшим...

----------
http://www.imho.ws

Всего записей: 1269 | Зарегистр. 12-10-2006 | Отправлено: 00:16 27-10-2021
A27

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
mithridat1
 
Мне необходимо это реализовать без внешних утилит. На данный момент использую такой способ:
 

Код:
@Echo Off
If exist Test.txt Del Test.txt
For /f "Tokens=*" %%A in ('Label /?') do Call :A "%%A"
Exit
:A
ChCP.com 1251
>>Test.txt Echo.%~1
ChCP.com 866

 
Но For здесь не очень удобен из-за громоздкости и ещё он пропускает пустые строки. К тому же приходится использовать Call т.к. заключённые в скобки цикла команды не преобразуют символы в кодировку 1251.
 
Любопытно, что вывод в 1251 работает только у построчных команд. Так например, следующий вариант не работает:
 

Код:
ChCP.com 1251
Type Test1.txt>Test2.txt
ChCP.com 866

Всего записей: 58 | Зарегистр. 30-03-2017 | Отправлено: 06:37 27-10-2021 | Исправлено: A27, 06:47 27-10-2021
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, A27
VBScript/JScript/HTA?

Код:
Set FSO =  CreateObject("Scripting.FileSystemObject")
Set oInStr = FSO.GetStandardStream(0)
Set oOutStr = FSO.GetStandardStream(1)
Set oOutFile = FSO.OpenTextFile (WScript.Arguments.Item(0),2,True)
While Not oInStr.AtEndOfStream
  sInStr = oInStr.ReadLine
  oOutStr.WriteLine(sInStr)
  oOutFile.WriteLine(sInStr)
Wend
 

dir | cscript 1.vbs 1.txt

Всего записей: 1847 | Зарегистр. 07-08-2002 | Отправлено: 07:38 27-10-2021
Fenrizz



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A27
Используйте Powershell и Tee-Object. Файл будет в кодировке UTF-8.
 

Код:
powershell "& """C:\Program Files\WinRAR\rar.exe""" | tee-object -filepath C:\Test\rar.txt"

Всего записей: 431 | Зарегистр. 12-09-2017 | Отправлено: 07:55 27-10-2021 | Исправлено: Fenrizz, 07:56 27-10-2021
mithridat1



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

Цитата:
"Нормальность порта" - понятие сугубо относительное.
Судя по изменённому названию "нормального порта" - это не "порт" родной никсовой tee, а утилита со схожим функционалом, но имеющая некие существенные функциональные отличия от прародительницы.
Предпочитаю всё-таки иметь дело с оригиналом, дабы иметь одинаковый результат функционирования утилиты независимо от ОС...
Вы бы хоть обозначили, в чём его коренное отличие от других портов, делающее его лучшим...

Вообще, для портированных приложений "оригинальность" и "одинаковый результат функционирования утилиты независимо от ОС" очень спорные атрибуты. Крайне редко встречаю абсолютно идентичные и одинаковые по функционалу и поведению порты с *Nix на Windows. В первую очередь это обусловлено обилием непереносимой специфики, из-за чего для портирования нередко используют Cygwin, увеличивающий суммарный размер приложения из-за дополнительных библиотек. Для меня наиболее красноречивый пример якобы "оригинального" порта это шапочный набор UnxUtils.zip (GNU utilities for Win32), где стандартные юниксовые утилиты большей частью представлены в сильно кастрированном виде и ими невозможно нормально пользоваться (то есть также как в *nix). К примеру, полноценные порты awk или sed на самом деле по размеру превышают суммарный вес всего этого набора утилит.
 
Что касается tee то сразу не вспомню чем оттолкнул "оригинал". В CoreUtils обращает на себя внимание наличие дополнительных библиотек и неумение нормально работать с кириллицей (да, прилагаются локали, но их еще надо как то установить). Гораздо удобнее когда приложение работает без всяких зависимостей/настроек и его можно легко перенести и запустить на другой системе.

Всего записей: 4424 | Зарегистр. 05-01-2006 | Отправлено: 21:21 27-10-2021 | Исправлено: mithridat1, 21:24 27-10-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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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