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

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

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ps1InCmd.cmd
Код:
<# :
@echo off
copy/b "%~f0" "%temp%\%~n0.ps1" >nul
powershell -Version 2 -ExecutionPolicy bypass -noprofile "%temp%\%~n0.ps1" "%cd% " "%~1"
del "%temp%\%~n0.ps1"
echo.
pause
exit /b
#>
write-host -f red "Привет"
write-host -f yellow "мой загадочный"
write-host -f green "мир!"

http://klikr.org/aa2011de3c980debf1c322fd5417.png
 
hyperx32
Всякие кешовые файлы создадутся при следующем запуске, если вам срочно не нужно больше места на диске, то не трите его, а то он протрётся.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 20:35 31-10-2019 | Исправлено: VVL99, 20:39 31-10-2019
CKOPnuOH



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемы Гуру командной строки - прошу помощи.
Подскажите как можно (и можно ли вообще?) из командной строки получить ссылку в формате dropbox, на файл который был размещен на ПК в папке где храняться файлы, которые синхронизируються с dropbox.
 
То есть нужен аналог действия - когда на файле, который был синхронизирован с облаком, нажимается ПКМ и в появившемся меню выбирается "Получить ссылку" которая копируется в буфер обмена.

Всего записей: 339 | Зарегистр. 28-05-2004 | Отправлено: 11:34 01-11-2019
ArtemT

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как это сделано пускает по RDP только после выполнения условий.
 
Вот такой файлик ...если просто ломиться по рдп то не работает
 
@echo off
ping ip... -f -n 1 -l 329 > NUL
ping ip... -f -n 1 -l 129 > NUL
ping ip... -f -n 1 -l 257 > NUL
start mstsc.exe /v:ip...:4482
 
 
ip везде одинаковый внешний...
 
Заранее спасибо

Всего записей: 51 | Зарегистр. 27-11-2006 | Отправлено: 12:22 01-11-2019 | Исправлено: ArtemT, 12:32 01-11-2019
Gamaliaka

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

Цитата:
Подскажите как это сделано пускает по RDP только после выполнения условий.
 
Вот такой файлик ...если просто ломиться по рдп то не работает
 
@echo off
ping ip... -f -n 1 -l 329 > NUL
ping ip... -f -n 1 -l 129 > NUL
ping ip... -f -n 1 -l 257 > NUL
start mstsc.exe /v:ip...:4482
 
 
ip везде одинаковый внешний...
 
Заранее спасибо

 
На микротике, в фаерволе, в фильтрах создаешь правила типа:

Код:
add action=add-src-to-address-list address-list=RDPWhiteList1 \
    address-list-timeout=10s chain=input packet-size=357 protocol=icmp
add action=add-src-to-address-list address-list=RDPWhiteList2 \
    address-list-timeout=10s chain=input packet-size=157 protocol=icmp \
    src-address-list=RDPWhiteList1
add action=add-src-to-address-list address-list=RDPFullWhiteList \
    address-list-timeout=10m chain=input packet-size=285 protocol=icmp \
    src-address-list=RDPWhiteList2

Дальше там же в нате правило для проброса порта rdp:

Код:
add action=dst-nat chain=dstnat dst-port="Номер Порта" in-interface="Имя входящего интерфейса" protocol=\
    tcp src-address-list=RDPFullWhiteList to-addresses="IP сервера во внутренней сети" to-ports=\
    3389
 

 
Пакеты 357, 157 и 285 на 28 байт больше указанных тобой потому, что 20 байт зарезервировано для заголовка IP -адреса и 8 байт выделяется для заголовка запроса протокола ICMP

Всего записей: 31 | Зарегистр. 20-12-2012 | Отправлено: 14:18 01-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сделал ещё один набор вроде как полезняшек, но не уверен что полезных и не уверен, что для этой темы:

Цитата:
1. RunCmd.xml - готовое задание (для проверки), можно самому зайти в планировщик, создать там задание и экспортировать его в эту папку.
2. CrST.cmd - Создаёт задание из xml файла находящегося в текущей папке.
3. ReNmCrST.cmd и ReNmCrST2.cmd - Создаёт задание из xml файла, предварительно заменив имя компьютера и пользователя на текущее (если файл был сделан другим пользователем или на другом компьютере).
 
4. AllTs.vbs - Создаёт списки (ts.txt и ts.hta) всех запланированных заданий с возможностью управления.
 
Важно: в папке должен находится только один xml файл, иначе задание будет создано только для последнего найденного файла (имя по алфавиту).

http://klikr.org/c74ec1a68e00a69ee5cc7be835bd.png

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 16:48 04-11-2019 | Исправлено: VVL99, 16:49 04-11-2019
kot1313



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

Цитата:
 ещё один набор вроде как полезняшек

Выкладывай

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 16:58 04-11-2019
vasyosuol_24

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

Цитата:
VVL99
 
Цитата:
 > ещё один набор вроде как полезняшек
 
Выкладывай

Присоединяюсь!

Всего записей: 1149 | Зарегистр. 16-01-2013 | Отправлено: 17:42 04-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://vvl99.narod.ru/cmd/scheduled-tasks.rar
 
Краткая информация о задачах - http://klikr.org/c74ec1a68e00a69ee5cc7be835bd.png
Полный список параметров для каждой задачи - http://klikr.org/9d9153e8fd16fd3b5bc89cdb1cc5.png

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 18:53 04-11-2019 | Исправлено: VVL99, 21:37 04-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ладно, сделал с диалогом и табличкой в конце, для фокусировки. Обновил.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 21:32 04-11-2019 | Исправлено: VVL99, 21:33 04-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хех, cmd в 45 раз медленнее решает задачу создания hta с подсветкой тегов. 147 задач обрабатывает за полторы минуты, а vbs за пару сек.

Код:
@echo off
chcp 1251>nul
set ns=1
title=Сбор информации...
echo ^<style^>html {background: rgb(224,238,239); color: #34495E}.fol {background-color: rgb(167, 195, 197)}.tit {color: rgb(105, 32, 0)}^</style^> >> 2.hta
setlocal enabledelayedexpansion
for /f "Delims=" %%i In ('SCHTASKS /Query /FO LIST') do (
    chcp 866>nul
    echo "%%i"|>nul findstr /rc:"Папка" /rc:"Folder" && (
        echo ^<div class="fol"^>%%i^</div^> >> 2.hta
    ) || (
        echo "%%i"|>nul findstr /rc:"ИНФО" /rc:"INFO" && (
            echo ^<div^>%%i^</div^> >> 2.hta
        ) || (
            echo "%%i"|>nul findstr ":" && (
                for /f "tokens=1* delims=:" %%a In ("%%i") do (
                    echo "%%a"|>nul findstr /rc:"узла" /rc:"Host" && (
                        cls
                        echo Найденно задач: !ns!
                        echo ^<hr^> >> 2.hta
                        set /a ns+=1
                    )
                    echo ^<span class="tit"^>%%a:^</span^>^<span^>%%b^</span^>^<br^> >> 2.hta
                )
            )
        )
    )
)
2.hta
pause

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 01:51 05-11-2019 | Исправлено: VVL99, 15:18 05-11-2019
YuS_2



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

Цитата:
 147 задача обрабатывает за полторы минуты, а vbs за пару сек.

Это разве новость?
CMD - это то, что появилось изначально в качестве cli и многие лета уже не развивается от слова совсем. Впрочем, как и WSH, но wsh хоть сделан более продвинуто и многие задачи на нем проще решать.
Нынче стандартная командная строка в windows - это powershell, остальное - живет и здравствует для обратной совместимости, а некоторые утилиты и для более широких возможностей, но индусы могут ведь в любой момент просто взять да и выпилить всё это хозяйство...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 08:07 05-11-2019
obitt



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Как правильно батником убить все копии одинакового процесса (например abc.exe)?
Могут быть такие варианты: процессов abc.exe не запущено; запущен один (два, три и т.д.) процессов abc.exe одновременно.
Батник должен убить их все.

Код:
taskkill /f /im abc.exe /t

Всего записей: 588 | Зарегистр. 12-11-2006 | Отправлено: 15:05 05-11-2019 | Исправлено: obitt, 15:33 05-11-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
Просто думал может код слишком тяжело написан, есть способ ускорить процесс.
 
obitt
Так?
Код:
echo Y|taskkill /f /im abc*

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 17:49 05-11-2019 | Исправлено: VVL99, 17:50 05-11-2019
obitt



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

Цитата:
Так?
Код:
echo Y|taskkill /f /im abc*

Так тоже работает. А что дает

Код:
echo Y

Всего записей: 588 | Зарегистр. 12-11-2006 | Отправлено: 17:57 05-11-2019
iNNOKENTIY21



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

Цитата:
Здравствуйте.
Как правильно батником убить все копии одинакового процесса (например abc.exe)?
Могут быть такие варианты: процессов abc.exe не запущено; запущен один (два, три и т.д.) процессов abc.exe одновременно.
Батник должен убить их все.
 
Код:
taskkill /f /im abc.exe /t  

Так убивает же, все
 

Код:
C:\Users\Admin>notepad
 
C:\Users\Admin>notepad
 
C:\Users\Admin>notepad
 
C:\Users\Admin>TASKKILL /f /IM notepad.exe /t
Успешно: Процесс, с идентификатором 220, дочерний процесса 9100, был завершен.
Успешно: Процесс, с идентификатором 8436, дочерний процесса 9100, был завершен.
Успешно: Процесс, с идентификатором 9140, дочерний процесса 9100, был завершен.
 
C:\Users\Admin>TASKKILL /f /IM notepad.exe /t
Ошибка: Не удается найти процесс "notepad.exe".
 
C:\Users\Admin>notepad
 
C:\Users\Admin>TASKKILL /f /IM notepad.exe /t
Успешно: Процесс, с идентификатором 7948, дочерний процесса 9100, был завершен.

 
Или в чём критерий «правильности»?

Всего записей: 3650 | Зарегистр. 16-08-2012 | Отправлено: 18:00 05-11-2019
FridrGauss

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста. Нужно удалить папки в корне всех дисков. На счет прав не беспокойтесь. По такому принципу, но я что-то делаю не так.  
 
@echo off
pushd "%~dp0"
call :udal "$RECYCLE.BIN"
call :udal "System Volume Information"
pause
exit
:udal
for %%A in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    set str="%%A:\%1"
    if exist %str% (
        rmdir /s /q %str%
        echo %str% удалено
    )
)
exit /b

Всего записей: 66 | Зарегистр. 30-10-2019 | Отправлено: 18:36 05-11-2019 | Исправлено: FridrGauss, 18:41 05-11-2019
kot1313



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

Цитата:
call :udal "$RECYCLE.BIN"
call :udal "System Volume Information"  

FridrGauss
И это правильное решение
А я их ручками удалял
Ну не люблю я "лишние сущьности", тем более в которых людили прятаться вирусы
(тем более, что ни корзину, ни точки восстановления MS я не использую совсем)

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 18:42 05-11-2019 | Исправлено: kot1313, 18:46 05-11-2019
FridrGauss

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Вот не работает это, что я состряпал. Тонкости этих батников.. Права, повторю есть, от системы запускается.

Всего записей: 66 | Зарегистр. 30-10-2019 | Отправлено: 18:45 05-11-2019 | Исправлено: FridrGauss, 18:45 05-11-2019
kot1313



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

Цитата:
Вот не работает это, что я состряпал

Пожтому я и удаляю эти папки ручами...
Кстати, как Вы решили проблему с тем, что винда воссоздает эти папки без моего ведома, самостоятельно ?  
(ну кроме отключения корзины и отключения сервиса службы восстановления)

Всего записей: 2522 | Зарегистр. 11-12-2002 | Отправлено: 18:55 05-11-2019 | Исправлено: kot1313, 19:00 05-11-2019
FridrGauss

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Мне просто батник нужно правильный. А то мой не работает.  А насчет, чтобы не создавались - не заморачиваюсь. Кстати, туда скажем Каспер данные пишет.

Всего записей: 66 | Зарегистр. 30-10-2019 | Отправлено: 18:58 05-11-2019
   

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