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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

cchameleone



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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 (PDF). Курс лекций для начинающих
· Бокалий В. Командная строка (pdf-брошюрка в 20 страниц)
· Александров А., Дибров А. Урок bat-аники (pdf)
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Скрываем консольные окна, Выполнение BAT-скриптов без вызова окна консоли
· cmdow — изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· blat — отправка почты из консоли
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)

Всего записей: 2279 | Зарегистр. 16-10-2015 | Отправлено: 09:22 29-04-2016 | Исправлено: Maz, 08:47 26-03-2020
Andrea



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

Цитата:
вариант без more и setlocal enabledelayedexpansion

Испытал этот вариант, всё работает отлично, спасибо вам

Всего записей: 1087 | Зарегистр. 24-12-2015 | Отправлено: 23:34 07-02-2020
Galiley

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

Код:
diskpart.exe /s "%Script%" | findstr /i /v "Microsoft %COMPUTERNAME%"

Как еще убрать пустые строки? Никак не соображу. Без for.

Всего записей: 95 | Зарегистр. 02-01-2020 | Отправлено: 19:45 08-02-2020 | Исправлено: Galiley, 19:46 08-02-2020
Kero1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Изменение прав доступа к  папке с использованием ICACLS
 
Имеется папка c файлами(плюс вложенные) задача удалить права всех пользователей  этой папке включая систему (как бы очистить полностью), а потом заново назначить какой то стандартный набор разрешений типа система , админы, пользователи (вероятно и TrustedInstaller, потому как вроде говорят что глюки будут без него(подтвердите\опровергните если знаете точно) ). и Для  всех вложенных файлов и папок,  включая жёсткие ссылки (но не их(ссылок) содержание). Ну и владельцем назначить группу админов.
Также непонятно это всё вроде одной строкой не получится и надо запускать новую версию Icacls но тогда этож куча роботы если файлов-папок много
 
зы
сначала надо получить доступ\владение , потому как папки могут быть с запретом доступа, вплоть до явно заданных запретить доступ системе или всем. То-есть   очистить полностью все разрешения \ запреты.

Всего записей: 2446 | Зарегистр. 23-08-2011 | Отправлено: 06:26 09-02-2020 | Исправлено: Kero1, 06:44 09-02-2020
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как через командную строчку ассоциировать определённые расширения файлов.
Допустим, для autoit-v3, рсаполагающемся по пути C:\autoit-v3, нужно ассоциировать расширения .au3, .a3x. Делал вот так:

Код:
 
FTYPE .a3x="C:\autoit-v3\AutoIt3.exe" "%1"
FTYPE .au3="C:\autoit-v3\AutoIt3.exe" "%1"  

Но после выполнения команды файлы всё равно не ассоциировались - при запуске по файлу-сценарию, Windows (7, с 10-кой другая история, знаю) спрашивает чем их открыть...
AutoIt - это в качестве примера, тип файлов может быть совсем любым. Например, .djvu
Точно так же пытался и .djvu ассоциировать с WinDjView, тоже не получилось...

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 14:43 09-02-2020
iglezz

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

Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 14:50 09-02-2020
generator324

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

Цитата:
Права на запись в HKCR у батника есть?

Запускал из под админа, этого недостаточно? Всё-таки это Windows 7, не 10. До сих пор на отсутствие прав не жаловался...
Ключи в: [HKEY_CLASSES_ROOT\*.au3\Shell\Open] создались...

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 14:56 09-02-2020
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
generator324
пару-тройку страниц назад отмотайте, там есть про ассоциации типов файлов. И не забывайте про запуск команд от имени администратора...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 14:59 09-02-2020
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
Имеется ввиду замена стандартного блокнота на AkelPad? Я так и не понял, чем мне это поможет
Я ведь не заменить хочу, а только добавить. Новые типы файлов, не трогая старых. Командная строка, что я использовал, вроде бы верная - не могу понять, чего там неверного-то?
Вот, прочитал "от Иннокентия" , что "ftype, assoc вроде как работают только с HKLM" - а у меня Regshot наоборот HKCU показывает... В общем, непонятно совсем

Цитата:
И не забывайте про запуск команд от имени администратора...

Это есть.

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 15:31 09-02-2020
YuS_2



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

Цитата:
Имеется ввиду замена стандартного блокнота на AkelPad?

Нет, не замена, а именно ассоциация типов файлов с AkelPad.  

Цитата:
Я так и не понял, чем мне это поможет

Так тем и поможет, что Вы можете подсмотреть, как именно осуществляется ассоциация типа файла с конкретной программой... ведь это требовалось?
Вы неверно пытаетесь ассоциировать расширение файла с программой. Это делается в два этапа:
1. Сначала расширение сопоставляется с типом файла при помощи ASSOC
2. А при помощи FTYPE, тип файлов уже сопоставляется с программой, которая будет их открывать.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:50 09-02-2020
Jonmey

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

Код:
diskpart.exe /s "%Script%" | findstr /i /v "Microsoft %COMPUTERNAME%"

Как еще убрать пустые строки? Никак не соображу. Без for.

А это - не то?
Код:
diskpart.exe /s "%Script%" | findstr /i /v "Microsoft %COMPUTERNAME%"|findstr /virc:"^$"
(или обратной последовательности)
 
Добавлено:
Kero1
Цитата:
Имеется папка c файлами(плюс вложенные)
Уж не о папке ли \Windows (WinNT) речь? Поскольку TrustedInstaller актуальна для нее и немногих других. Если о ней - то может просто восстановить права?

Всего записей: 1316 | Зарегистр. 17-01-2011 | Отправлено: 03:08 10-02-2020 | Исправлено: Jonmey, 03:36 10-02-2020
Galiley

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonmey Да, это оно. Слона то я и не приметил. Замечательно избавило от лишнего. Этот вывод желтый.

Всего записей: 95 | Зарегистр. 02-01-2020 | Отправлено: 05:45 10-02-2020 | Исправлено: Galiley, 05:49 10-02-2020
generator324

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

Код:
@echo off
assoc .a3x=AutoIt
ftype AutoIt=AutoIt3.exe %1
assoc .au3=AutoIt
ftype AutoIt=AutoIt3.exe %1

Ключи в HKCR и HKLM создаются, но они пустые, т.е. без \shell\open\AutoIt3.exe %1
Что я делаю не так? Путь к AutoIt3.exe что указывай, что не указывай (он вообще-то находится в %PATH%) - всё равно не работает...

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 06:55 10-02-2020
YuS_2



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

Цитата:
Сделал по вашему примеру

Сделал что? Там были команды, которые подаются непосредственно в консоли. Не забываем, что в батниках символ "%" - необходимо удваивать.
 

Цитата:
Ключи в HKCR и HKLM создаются, но они пустые, т.е. без \shell\open\AutoIt3.exe %1

Какие именно ключи?
 
Ок, вот в картинках:

после чего, получаем:

и

- всё, теперь файлы .sss ассоциированы с Notepad-ом.
 
Пути указывать обязательно, даже если программа прописана в %PATH%

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 08:10 10-02-2020
generator324

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

Цитата:
Сделал что?

Код приведённый выше. В моём сообщении.

Цитата:
Там были команды, которые подаются непосредственно в консоли.  

Именно в консоли (Far) и выполнял.

Цитата:
Не забываем, что в батниках символ "%" - необходимо удваивать.  

Вот это забыл  Точнее, не знал. И как это будет выглядеть в батнике, вот так?

Код:
@echo off
assoc .a3x=AutoIt
ftype AutoIt=AutoIt3.exe %%1

За картинки спасибо, конечно, но... Можно было бы обойтись и без них - от того, что я "кропотливо" набираю это ручками, портя свои старческие глаза, оно лучше не усваивается - наоборот

Цитата:
Пути указывать обязательно, даже если программа прописана в %PATH%  

Почему? В %PATH% прописан не один каталог, а несколько - получается, если я перемещу в другой каталог, оно работать перестанет.
 
Добавлено:
Получился в итоге вот такой bat-ник:

Код:
@echo off
assoc .a3x=AutoIt
assoc .au3=AutoIt
ftype AutoIt="C:\ARC\AutoIt3.exe %%1"  

Только почему-то не добавляет строчку в HKLM, только в HKCR. И - не работает. Добавляю (импорт .reg) в HKLM - начинает работать. Почему?
 
Добавлено:
Уже понял - кавычки не там, надо было "C:\ARC\AutoIt3.exe" %%1
Вопрос снимаю, всё работает

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 08:33 10-02-2020
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Какие права администратора нужны для ветки HKCU\Software\Classes ?
HKCR оставьте в покое.

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 13:34 10-02-2020
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как убить процесс по русскоязычному заголовку?  
Пробую  

Код:
 taskkill /fi  "windowtitle eq Параметры экранной заставки"  
пишет, что нет такого окна, хотя окно есть - заголовок показывается в том числе и в Process Explorer  
Ну и крякозябры выводит
Как решать?

Всего записей: 1584 | Зарегистр. 08-10-2011 | Отправлено: 12:14 14-02-2020
iglezz

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

Цитата:
Как решать?

Кодировка какая?
С 1251 работает норм.

Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 12:24 14-02-2020
xerpal



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

Цитата:
Кодировка какая?
С 1251 работает норм.

Пробовал писать chcp 65001, chcp 1251, chcp 866 и файл делать в нужных кодировках - бесполезно, даже  

Код:
echo "Параметры экранной заставки"
выдает крякозябры, хотя  

Код:
echo "Параметры экранной заставки">E:\1.txt
в файл записывает нормальные русские буквы.  
 
А на экране код  

Код:
      echo "Параметры экранной заставки"
      pause
     
       taskkill /fi  "windowtitle eq Параметры экранной заставки"  
                   pause  
вызывает    
 

Всего записей: 1584 | Зарегистр. 08-10-2011 | Отправлено: 14:30 14-02-2020 | Исправлено: xerpal, 14:36 14-02-2020
iglezz

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xerpal
На скрине явно вывод в 866 идёт.
Вот этот батник справляется с задачей без проблем.

Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 14:50 14-02-2020
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iglezz
То же самое, одни крякозябры, окно нужное не закрывается( я поправил само собой заголовок)
   
 
Но странно, что в вашем файле не ругается, что не смог закрыть - как у  меня( без указания 866 картинка такая же точь в точь)
 
   
 
Кстати, если вписать  chcp 65001 - надписи становятся все английские, в том числе и ругань  
 
   

Всего записей: 1584 | Зарегистр. 08-10-2011 | Отправлено: 14:52 14-02-2020 | Исправлено: xerpal, 15:04 14-02-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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru