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

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

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

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Для C-то что выдает?

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

Всего записей: 3142 | Зарегистр. 18-04-2005 | Отправлено: 19:09 18-10-2021
kot1313



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

Цитата:
Для C-то что выдает?


Код:
Тип файловой системы: NTFS.
Не удаётся заблокировать текущий диск.
CHKDSK недопустим для дисков NTFS.

То есть тоже самое, тока добавилась строчка про блокировку.
Ну енто правильно - на диске C работает операционка, их под которой я и запускаю батник.
 
Вообщем - это какая-то специфика запуска chkdsk.exe из под батника...

Всего записей: 2392 | Зарегистр. 11-12-2002 | Отправлено: 21:55 18-10-2021
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Неплохо бы поставить английский MUI и посмотреть, как это сообщение выглядит в оригинале.

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
""Век живи - Век учись" - сказал Ёжик, слезая с кактуса"  
Если честно, то вопрос с этим глюком я бы уже закрыл.
Это подачка - неберучка.  
Тратить на неё время можно разве что в исследовательских целях.
 
На практике - ну не запускается проверка диска батником из проводника. Ну и не надо ...
Запущу из командной строки ручками.  
Думаю тему с "CHKDSK недопустим для дисков NTFS"  нужно закрыть и не тратить более на неё время.
А Вам за попытки мне помочь в этом вопросе  
Большое Спасибо

Всего записей: 2392 | Зарегистр. 11-12-2002 | Отправлено: 22:19 18-10-2021 | Исправлено: kot1313, 22:20 18-10-2021
zh76internetru

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

Всего записей: 29 | Зарегистр. 24-09-2021 | Отправлено: 21:55 20-10-2021 | Исправлено: zh76internetru, 22:16 20-10-2021
BorlandIMHO

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

Цитата:
каким батником можно сохранять состояние работы батника? )))

В общем случае - никаким.
Частные случаи:
1. Батник сам регулярно сохраняет свои промежуточные результаты в файл, который читает при последующем запуске и считает дальше.
2. Батник запущен в виртуальной машине (например, VirtualBox). Виртуалка выключается с сохранением текущего состояния {это возможно делать другим батником на хосте при помощи консольной утилиты управления виртуальными машинами vboxmanage}, при последующем включении работа виртуалки продолжается с точки сохранения, включая работающий в ней батник.
 
Добавлено:
GCRaistlin

Цитата:
Неплохо бы поставить английский MUI и посмотреть, как это сообщение выглядит в оригинале.

Для этого муй не нужен. Вполне достаточно добавить в батник "chcp 65001" или "chcp 437" перед командой chkdsk.

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

Всего записей: 1269 | Зарегистр. 12-10-2006 | Отправлено: 23:09 20-10-2021 | Исправлено: BorlandIMHO, 23:10 20-10-2021
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Ого. Не знал. Хотя ХЗ - у меня русский MUI стоит только в виртуалке на английской Windows. Проверить, работает ли этот трюк на чисто русской Windows, не на чем.

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

Всего записей: 3142 | Зарегистр. 18-04-2005 | Отправлено: 23:45 20-10-2021
BorlandIMHO

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

Цитата:
Проверить, работает ли этот трюк на чисто русской Windows, не на чем.

Просто поверьте, работает.
Многие (хотя и не все) русифицированные консольные утилиты NT6.x (Vista/7/8/8.1/10) именно так себя и ведут: при кодовой странице консоли, отличной от "родной" 866/1251 - переходят на английский язык интерфейса.
Думаю, то же самое верно для других локализаций (с точностью до номера кодовой страницы OEM/ANSI, конечно же).
И для 11 винды, скорее всего, работает то же правило (вживую 11 пока что не видел, посему утверждать не могу).

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

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



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

Цитата:
Просто поверьте, работает

Да, проверил работает на Win7x64ru
Пишет chkdsk is not available for ntfs drives

Всего записей: 2392 | Зарегистр. 11-12-2002 | Отправлено: 04:00 21-10-2021 | Исправлено: kot1313, 04:00 21-10-2021
Fenrizz



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Судя по всему, у Вас несколько файлов chkdsk.exe в системе и из проводника или Тотала запускаются разные версии. Попробуйте поиском поискать файл chkdsk.exe на всех дисках или прописать в батнике полный путь - c:\Windows\System32\chkdsk.exe
 
Или ещё вариант - повышать привилегии прямо в батнике

Код:
powershell.exe -Command "Start-Process """c:\Windows\System32\chkdsk.exe""" -ArgumentList """D: /F /X""" -Verb RunAs"  

Всего записей: 428 | Зарегистр. 12-09-2017 | Отправлено: 07:31 21-10-2021 | Исправлено: Fenrizz, 07:40 21-10-2021
GCRaistlin



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

Цитата:
Судя по всему, у Вас несколько файлов chkdsk.exe в системе и из проводника или Тотала запускаются разные версии.

Сомнительно. Но можно проверить.
 
kot1313

Код:
 
for /f %A in ("chkdsk.exe") do @echo/%~$PATH:A
 

Это нужно выполнить из консоли (где все работает) и из батника (где нет; там нужно удвоить %).
 
И на всякий случай указывайте chkdsk с расширением при запуске.
 
Поначалу chkdsk ругался на отсутствие ulib.dll?

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

Всего записей: 3142 | Зарегистр. 18-04-2005 | Отправлено: 09:05 21-10-2021
kot1313



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

Цитата:
Судя по всему, у Вас несколько файлов chkdsk.exe в системе

Ну да - их целых четыре штуки - 2 идиентичных x86 и 2 шт идиентичных x64
В C:\Windows\System32 и C:\Windows\winsxs\amd64 ... - шестьдесятчетырёхбитные
В C:\Windows\SysWOW64 и C:\Windows\winsxs\x86_... - x86 версии
 
Кстати, батник даже из под TI в проводнике запускал - пишет туже лабуду.
 
Добавлено:

Цитата:
Поначалу chkdsk ругался на отсутствие ulib.dll?

GCRaistlin
Нет, никакой ругани не было по этому поводу.
 
Добавлено:
Вот что получилось:
Если в батнике оставить тока
Код:
C:\Windows\System32\chkdsk.exe C: /F /X

То пишет chkdsk is not available for ntfs drives
А вот если написать так
Код:
C:\Windows\SysWOW64\chkdsk.exe C: /F /X  

ТО усё срабатывает штатно, замечаний к NTFS нету
Так что корректно батником из под проводника запускается тридцатидвухбитная версия chkdsk.exe из папки SysWOW64
 
 

Всего записей: 2392 | Зарегистр. 11-12-2002 | Отправлено: 17:28 21-10-2021 | Исправлено: kot1313, 18:30 21-10-2021
GCRaistlin



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

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

Всего записей: 3142 | Зарегистр. 18-04-2005 | Отправлено: 17:43 21-10-2021
kot1313



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

Код:
for /f %%A in ("chkdsk.exe") do @echo/%%~$PATH:A  
Pause
просто выдал мне адрес  
C:\Windows\System32\chkdsk.exe
Запуск из консооли  

Код:
for /f %A in ("chkdsk.exe") do @echo/%~$PATH:A
 
дал тот же результат

Всего записей: 2392 | Зарегистр. 11-12-2002 | Отправлено: 18:13 21-10-2021 | Исправлено: kot1313, 18:27 21-10-2021
GCRaistlin



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

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

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



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

Цитата:
Ну да - их целых четыре штуки - 2 идиентичных x86 и 2 шт идиентичных x64
В C:\Windows\System32 и C:\Windows\winsxs\amd64 ... - шестьдесятчетырёхбитные
В C:\Windows\SysWOW64 и C:\Windows\winsxs\x86_... - x86 версии  

А Total Commander у Вас x32 или x64?  
Судя по всему x32 и поэтому он запускает 32-разрядную версию chkdsk.exe

Всего записей: 428 | Зарегистр. 12-09-2017 | Отправлено: 18:25 21-10-2021 | Исправлено: Fenrizz, 18:28 21-10-2021
kot1313



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
8.5.1.1 - тридцатидвухбитный  
9.5.1 - есть и x64 и x86
 
Добавлено:

Цитата:
 тридцатидвухбитная версия chkdsk.exe из папки SysWOW64  

И нафига MS такую путанницу завёл - x86 файлы находятся в папке для шестьдесятчетырёхюитных и наоборот  
попахивает мошенничеством с их стороны

Всего записей: 2392 | Зарегистр. 11-12-2002 | Отправлено: 18:29 21-10-2021 | Исправлено: kot1313, 18:34 21-10-2021
GCRaistlin



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

Цитата:
Судя по всему x32 и поэтому он запускает 32-разрядную версию chkdsk.exe

Судя. А нам тут, говоря без обиняков, голову морочат про "командную строку".
 
kot1313
Если запускаете из-под TC, так и пишите. Потому что при словах "командная строка" лично у меня в голове возникает автоматом последовательность: Win+R - cmd - Enter.

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
Да, похоже это специфика работы версий программы разной битности.
Кстати, в капиталистическом тырнете и про chkdsk is not available for ntfs drives
я упоминаний не встретил. А в коммунистическом тырнете не искал -с китайским у меня плохо ...
Очень интересно, неужели никто с этим на шарике не сталкивался. Чудно. Впрочем это уже оффтопик.
 
В батнике очевидно вначале нужно вложить код, который бы определял битность операционки и в зависимости от оной запускал тот файл, который нужен.
 
Добавлено:
GCRaistlin

Цитата:
Если запускаете из-под TC, так и пишите.

Я сегодня вообще ТС не включал. Батник с кодом который Вы написали я запускал из под проводника,  
а код запускал из консоли имеено как и Вы -
Цитата:
Win+R - cmd - Enter


Всего записей: 2392 | Зарегистр. 11-12-2002 | Отправлено: 18:51 21-10-2021
ExDimanya



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Цитата:
В батнике очевидно вначале нужно вложить код, который бы определял битность операционки и в зависимости от оной запускал тот файл, который нужен.
Автоматом запускается файл из текущей директории а далее по списку %Path%. Никакого упоминания про SysWOW64 в переменной нет. Так что делайте выводы.

----------
Клон полезняшек от Ratiborus
Телеграм
Sic transit gloria mundi

Всего записей: 9497 | Зарегистр. 19-04-2018 | Отправлено: 18:54 21-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

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