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

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

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

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.10 до Windows 11 +Win95cmd +ReactOS) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на своей версии ОС.
 
· Большой сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 38723 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: metatrop, 07:55 29-11-2022
cjk441



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, такой момент.
Нужно скопировать архив из одной папки в другую через bat файл. Но, если скопированный архив был изменен - не заменять его при повторном запуске bat файла.
 
Подробнее:
 
Копирую архив через батник командой:
copy "C:\Users\admin\Desktop\archive_test.rar" "C:\tmp\"
 
В "C:\tmp\" я добавил несколько файлов в "archive_test.rar". Если я запущу батник, то он заменит измененный архив на тот, который лежит в "C:\Users\admin\Desktop\"
 
Как сделать так, чтобы он не заменял архив, если он уже существует. Возможно нужно сделать какую-то проверку на его наличие. Желательно, чтобы без подтверждения в командной строке.
 
Буду рад любой информации.

Всего записей: 394 | Зарегистр. 08-01-2012 | Отправлено: 08:39 07-09-2022 | Исправлено: cjk441, 08:40 07-09-2022
Inoz2000



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

Код:
copy /?

Всего записей: 4852 | Зарегистр. 23-04-2009 | Отправлено: 08:43 07-09-2022
cjk441



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

Цитата:
copy /?

Нашел только это, но оно не подходит, так как нужно без подтверждения в командной строке.
 
/-Y     Обязательный запрос подтверждения на перезапись существующего конечного файла.

Всего записей: 394 | Зарегистр. 08-01-2012 | Отправлено: 11:15 07-09-2022 | Исправлено: cjk441, 11:16 07-09-2022
GCRaistlin



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

Цитата:
скопированный архив

Источник или копия?

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

Всего записей: 3951 | Зарегистр. 18-04-2005 | Отправлено: 11:36 07-09-2022
BorlandIMHO

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

Цитата:
Как сделать так, чтобы он не заменял архив, если он уже существует.


Код:
if NOT EXIST "C:\tmp\archive_test.rar" copy "C:\Users\admin\Desktop\archive_test.rar" "C:\tmp\"

Копирование будет осуществляться только в случае, если файла в целевой директории нет.


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

Всего записей: 2368 | Зарегистр. 12-10-2006 | Отправлено: 11:37 07-09-2022
GCRaistlin



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

Цитата:
Если скопированный архив был изменен - не заменять его при повторном запуске bat файла


Цитата:
Как сделать так, чтобы он не заменял архив, если он уже существует.

Это не одно и то же.

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

Всего записей: 3951 | Зарегистр. 18-04-2005 | Отправлено: 11:40 07-09-2022 | Исправлено: GCRaistlin, 11:40 07-09-2022
cjk441



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

Цитата:
Копирование будет осуществляться только в случае, если файла в целевой директории нет.
 

Код:
if NOT EXIST "C:\tmp\archive_test.rar" copy "C:\Users\admin\Desktop\archive_test.rar" "C:\tmp\"

 
Благодарю, именно это и требовалось.

Всего записей: 394 | Зарегистр. 08-01-2012 | Отправлено: 12:28 07-09-2022 | Исправлено: cjk441, 12:28 07-09-2022
Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Или так:
 
echo n|copy /-y "C:\Users\admin\Desktop\archive_test.rar" "C:\tmp\"

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 14:30 07-09-2022
MH100181Q



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SigRemover
Приложение для удаления цифровой подписи двоичных файлов
https://dennisbabkin.com/sigremover/
Скачать
Скачать исходник
 
Батник от Alex_Piggy переделал под программу:

Код:
@echo off
title SigRemover
cd /d "%~dp0"
:_1
if x%1==x goto :_2
SigRemover.exe -i "%~1"
shift
goto :_1
:_2
goto :eof

Всё отлично работает, при перекидывании на батник кучки файлов, НО.  
Нужна перезапись существующего файла/файлов, а не создание рядом с префиксом (NoSig)
А в настройках самой консольки это видимо не предусмотрено, можно только с помощью параметра
-o изменять названия итоговых файлов.

Код:
Usage:
 
SigRemover -i <File> [-o <File>]
 
where:
 -i  = specifies PE file to remove signature from:
        <File> = File path to read PE binary.
 -o  = [optional] specifies destination PE file:
        If omitted, the new file name will have (NoSig) suffix in the same folder.
        <File> = File path to create new PE binary.
 
Examples:
 SigRemover -i "path-to\file.exe"
 SigRemover -i "path-to\file.exe" -o "path-to\result.exe"

 
Подобная программа, на NET Framework
FileUnsigner
https://t.me/PortablebyMH100181Q/199
 — утилита для удаления цифровой подписи из любого файла.
Собрано: Enigma Virtual Box
ОС: XPSP2-11
Размер: 4,32 МБ
Встроенный NET Framework 2.0

Всего записей: 1397 | Зарегистр. 29-04-2008 | Отправлено: 17:30 07-09-2022 | Исправлено: MH100181Q, 17:43 07-09-2022
Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MH100181Q
В чём вопрос?  
 

Код:
SigRemover.exe -i "%~1" -o "%~1"  

 
Или так

Код:
SigRemover.exe -i "%~1"
move /Y "%~dp1%~n1_NoSig%~x1" "%~1"

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 18:37 07-09-2022 | Исправлено: Fenrizz, 18:39 07-09-2022
MH100181Q



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
Не работает так. С разными вариациями.
Либо создаёт файл (NoSig), либо ничего не меняет.
 

Код:
"%~dp0SigRemover.exe" "-i" "%~1" "-o" "%~1"


Код:
"%~dp0SigRemover.exe" -i "%~1" -o "%~1"

Failed to create destination file: C:\msvcp80.dll
Видимо ругается, что не может создать фай, ибо он уже существует. Видимо в коде консольки не предусмотрена перезапись существующего файла, по-этому надо бы это силой БАТника сваять

Всего записей: 1397 | Зарегистр. 29-04-2008 | Отправлено: 21:19 07-09-2022 | Исправлено: MH100181Q, 21:26 07-09-2022
Fenrizz



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

Код:
SigRemover.exe -i "%~1"
move /Y "%~dp1%~n1_NoSig%~x1" "%~1"  


Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 06:58 08-09-2022
MH100181Q



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

Код:
@echo off
title SigRemover
cd /d "%~dp0"
:_1
if x%1==x goto :_2
SigRemover.exe -i "%~1"
move /Y "%~dp1%~n1_NoSig%~x1" "%~1"
shift
goto :_1
:_2
goto :eof

а если так, то создаёт  (NoSig)

Всего записей: 1397 | Зарегистр. 29-04-2008 | Отправлено: 07:32 08-09-2022 | Исправлено: MH100181Q, 07:34 08-09-2022
Fenrizz



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

Цитата:
Не работает к сожалению

Не очень информативно
 
Как называются выходные файлы? Если входной, например, abcde.exe
 
Хотя это не особо важно, можно и так

Код:
SigRemover.exe -i "%~1" -o "%~dp1%~n1_NoSig%~x1"
move /Y "%~dp1%~n1_NoSig%~x1" "%~1"  

SimRemover создаст файл имя_исходного_ файла_NoSig.расширение
Следующая команда переименует его в файл имя_исходного_ файла.расширение
 

Цитата:
Благодарю за помощь!
Присовокупил ваш участок кода к коду от Alex_Piggy и всё заработало!
Ест любое кол-во файлов за раз  


Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 07:38 08-09-2022 | Исправлено: Fenrizz, 09:26 08-09-2022
MH100181Q



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

Цитата:
Как называются выходные файлы?

Любые файлы имеющие цифровую подпись. *.*

Цитата:
Не очень информативно

Пишет "SigRemover.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
 

Код:
"%~dp0SigRemover.exe" -i "%~1" -o "%~dp1%~n1_NoSig%~x1"
move /Y "%~dp1%~n1_NoSig%~x1" "%~1"
 
Вот так заработала, в кавычках. Только ест по одному файлу, уже прогресс
 
Добавлено:
Fenrizz
Благодарю за помощь!
Присовокупил ваш участок кода к коду от Alex_Piggy и всё заработало!
Ест любое кол-во файлов за раз
 

Код:
@echo off
title SigRemover
cd /d "%~dp0"
:_1
if x%1==x goto :_2
SigRemover.exe -i "%~1" -o "%~dp1%~n1_NoSig%~x1"
move /Y "%~dp1%~n1_NoSig%~x1" "%~1"
shift
goto :_1
:_2
goto :eof

 
Автор Pasha_ZZZ
предложил свой вариант, доп батники ей не нужны
Authenticode certificates remover 1.1
Консольная программа для удаления цифровых сертификатов из файлов

Всего записей: 1397 | Зарегистр. 29-04-2008 | Отправлено: 07:49 08-09-2022 | Исправлено: MH100181Q, 22:32 09-09-2022
O033

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

Всего записей: 1 | Зарегистр. 08-09-2022 | Отправлено: 13:15 08-09-2022
Fenrizz



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

Код:
sfc /scannow || sfc /scannow  

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 14:36 08-09-2022
BorlandIMHO

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


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

Всего записей: 2368 | Зарегистр. 12-10-2006 | Отправлено: 14:52 08-09-2022
GCRaistlin



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

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

Всего записей: 3951 | Зарегистр. 18-04-2005 | Отправлено: 14:55 08-09-2022
BorlandIMHO

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

Цитата:
при обнаружении поврежденных файлов запускалось повторное выполнение

И, если оно не исправило обнаруженное - какой смысл в повторном запуске того же и с теми же параметрами вообще?.. И второй раз не исправит...

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

Всего записей: 2368 | Зарегистр. 12-10-2006 | Отправлено: 15:02 08-09-2022
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии - bat, cmd


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru