1 | |
Тонкости языка, редкие команды и сложные скрипты16.10.2012, 06:56. Показов 230947. Ответов 96
Метки bat hta+javascript, bat js, bat vbs, bat wmi, bat/cmd в 64-битной ос, inline-комментарий, kixtart, pid и путь запущенного процесса через wmi, английский язык в консоли, двойное раскрытие переменной, деление с выводом дробной части bat/cmd, запустить командную строку от имени администратора, командная строка windows, недокументированные команды консоли, особенности реализации командного процессора, потоки stdin stdout stderror, принцип составления однострочных команд batch, размер папки bat/cmd, циклические операции bat/cmd, элевация прав (Все метки)
Тема для пользователей высокого уровня подготовки.
Здесь можете размещать:
• Статьи и тонкости языка: Основы
• References, Special Manuals, Книги для High Level Users:
• Баги интерпретатора CMD и встроенных команд
• Планируется разместить: Rem не всегда является командой начала комментария Создание и удаление точек повторной обработки сайт Если у Вас возникли вопросы, создайте новую тему.
17
|
16.10.2012, 06:56 | |
Ответы с готовыми решениями:
96
Тонкости языка С,define Поддерживает ли встроенный сервер PHP скрипты языка Perl? Команды языка PCL Логические команды языка Ассемблер Создать команды языка управления потоками |
25.03.2013, 03:42 [ТС] | 21 | |||||||||||||||
Получить последний токен в заданной строке.
(подпрограмма) %1 - значение строки %2 - разделитель в кавычках %3 - переменная-буфер
(подпрограмма) %1 - значение строки %2 - символ (например, пробел, окруженный кавычками) %3 - переменная-буфер
0
|
07.04.2013, 18:44 [ТС] | 22 | |||||
Получение символов BackSpace (0x08) и Esc (0x27) в переменную
Автор: jeb (dostips.com) (немного подредактировано мной)
0
|
Модератор
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
|
||||||
17.04.2013, 22:13 | 23 | |||||
Перевод чисел из десятеричной системы в любую (2-16)
1
|
1747 / 352 / 41
Регистрация: 15.10.2012
Сообщений: 549
|
|
01.05.2013, 01:52 | 24 |
Уточнение 3961893
Есть ключи /a и /b для копирования, соответственно, текстовых и бинарных файлов. При копировании с ключом /a в конец результирующего файла всегда добавляется символ с кодом &1A (это управляющий символ EOT - End Of Text). Кроме того, текстовые файлы будут обрезаны до символа EOT, если он в них встретится. Бинарные файлы копируются "as is". Без ключей /a и /b команда copy включает некий AI, пытаясь определить текстовый файл или бинарный. Результаты этого AI не всегда адекватны. Поэтому, хорошей привычкой может быть всегда использовать ключ /b, даже при копировании текстовых файлов (дабы избежать появление последнего "мусорного" символа).
2
|
Модератор
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
|
||||||||||||||||
22.06.2013, 20:26 | 25 | |||||||||||||||
Считывание файла в псевдомассив с учетом пустых строк
0
|
Модератор
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
|
|||||||
22.06.2013, 21:34 | 27 | ||||||
Есди ты использовал эту функцию два раза, с одним и тем же именем переменной, но пустая строка во втором совпадает с непустой в первом - твой вариант перенесет туда обрывок первого файла. А мой сначала обнулит (нет ключа /р, это просто обнуление)
0
|
24.06.2013, 20:27 [ТС] | 28 | ||||||||||
Подстановка переменной в роле модификатора для цикла
На примере получения значений 2-х указанных токенов при парсинге строки:
к примеру: tokens=!num! Еще вариант без отложенного раскрытия от ComSpec: Циклические операции и примеры (команда FOR) * [Статья]
0
|
24.06.2013, 20:28 [ТС] | 29 | ||||||||||
Логические операции сравнения для чисел, превышающих арифметику CMD
Пример использования:
3
|
26.06.2013, 10:06 [ТС] | 31 | |||||||||||||||||||||||||||||||||||
Функции чтения/записи реестра с отображением уровня ошибки
----------------------------------------------------------------------- Функция записи в реестр :Reg_Write Проверено в Windows 7 и XP. Не требует DelayedExpansion.
Кликните здесь для просмотра всего текста
Функция :Reg_Read v.1. (Light) Проверено в Windows 7 и XP. Не требует DelayedExpansion. Не выводит уровень ошибки. Неправильно читает значения, если в имени параметра есть пробел.
Выводит уровень ошибки. Неправильно читает значения, если в имени параметра есть пробел.
Кликните здесь для просмотра всего текста
Функция чтения из реестра :Reg_Read v.2. (Spaces Safety) Проверено на Windows 7 и XP. Требует DelayedExpansion. Кликните здесь для просмотра всего текста
Пример использования: Кликните здесь для просмотра всего текста
2
|
06.07.2013, 15:25 [ТС] | 33 | ||||||||||
Запуск Batch-файла как службы
MSDN Создание определяемой пользователем службы через INSTSRV.EXE Создание службы Windows с помощью программы Sc.exe MS TechNet Sc create 1) Создание и запуск службы:
Пример протестирован в Windows 7 x64. В ОС Windows XP, Vista, 8 файл srvany.exe отсутствует. Перед созданием службы, его следует скопировать в системную папку. 32-битная версия srvany.exe из состава Windows 7 подходит к указанным версиям ОС. В ОС Windows Vista, 7, 8 служба запускает скрипт на отдельном рабочем столе. Windows Resource Kit. Примечание: Чтобы задать аргументы запуска, нужно создать в разделе My_Service\Parameters ключ: "AppParameters"="Some Arguments" Bash reg add "HKLM\SYSTEM\CurrentControlSet\Services\My_Service\Parameters" /f /v AppParameters /t REG_SZ /d "Some Arguments" "AppDirectory"="C:\Progra~1" Bash reg add "HKLM\SYSTEM\CurrentControlSet\Services\My_Service\Parameters" /f /v AppDirectory /t REG_SZ /d "C:\Progra~1"
4
|
1747 / 352 / 41
Регистрация: 15.10.2012
Сообщений: 549
|
||||||
06.07.2013, 23:57 | 34 | |||||
Выполнение командного файла перед входом в систему
Программа старая, но на Window7 32 работает (проверено). Можно назвать аналогом autoexec.bat для NT-систем. Некоторые замечания: - Служба запускается до логина пользователя. Соотвественно, имя пользователя в %USERNAME%, пути к папкам, типа %USERPROFILE%, %APPDATA% и т.п. могут быть отличными, от ожидаемых. Лучше всего посмотреть их, записав вывод команды SET в файл (см. пример далее). Соотвественно, права доступа к ресурсам системы надо смотреть для каждого конкретного случая. - Консольное окно не открывается, соотвественно, никакого вывода, например, через echo, никакой интерактивности, типа pause, не будет (командный файл просто "зависнет" в ожидании ввода). Даже запуская vbs, простейшее окно через msgbox открыть не удаётся. Но можно записывать на диск в файлы. Впрочем, на старых системах что-то может быть по другому. - После выполнения autoexnt.bat служба останется запущеной, хотя она уже не нужна. Много ресурсов она не потребляет, но её можно остановить прямо там, из autoexnt.bat. Пример autoexnt.bat:
4
|
01.08.2013, 15:04 [ТС] | 35 | |||||
Дополнение к коду от m0nkrus и FraidZZ
"Получение N-ной строки из файла" за авторством aGerman (http://www.dostips.com) Пример для получения 5-й строки:
2
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
06.08.2013, 21:27 | 36 |
Хитрый SUBST (undoc) - для назначения диска можно использовать не только буквы A-Z, но и цифры 0-9 и символы $,#, :, ! , например:
SUBST $: "%TEMP% $: подстановка нe видна ни в эксплорере, ни в ФАРе, ни в самом SUBST'e без параметров, ни по SET . | more. Также работает с шарами Samba на FreeBSD, отмапленными по net use.
5
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
||||||
21.08.2013, 23:02 | 39 | |||||
Смена даты/времени модификации (modification/last access date/time) на текущую.
Работает на шарах Самбы. На FAT-разделах меняет только last write date/time, естественно.
5
|
13.10.2013, 17:54 [ТС] | 40 | ||||||||||
Способ хранения нескольких REG-файлов в теле батника
Используется предварительная распаковка. Код
Комментарий к коду
Спасибо Koza Nozdri за поднятие вопроса по данной проблеме.
1
|
13.10.2013, 17:54 | |
13.10.2013, 17:54 | |
Помогаю со студенческими работами здесь
40
сложные зад4чи, парсинг, компиляторы, автоматическое преобразование исходника, сложные Regex Правило перевода на язык паскаль команды повторения с параметром алгоритмического языка? Используя команды языка пакетного файла, реализовать текстовое меню из 4-х пунктов Создать программу, которая содержит в себе команды обработки строк языка ассемблер По символьному описанию команды языка Ассемблер написать ее машинный код в шестнадцатеричном формате Вам представлен машинный код нескольких команд. Получите соответствующие им команды языка Ассемблера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |