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

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

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

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




Все благодарности в ПМ

Всего записей: 47 | Зарегистр. 16-12-2019 | Отправлено: 17:06 27-01-2020 | Исправлено: gyra, 08:18 28-01-2020
Galiley

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

Код:
echo %A:~0,3%

Выведет первые три символа. А в цикле возможно без новой временной переменной так оформить? Cкажем нужно вывести первые три символа %%D. Чисто творческий интерес.

Код:
for %%D in ... (
  echo %%D
)
 


Всего записей: 95 | Зарегистр. 02-01-2020 | Отправлено: 19:06 27-01-2020
GCRaistlin



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

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

Всего записей: 3147 | Зарегистр. 18-04-2005 | Отправлено: 00:01 28-01-2020
mcpdr



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, подскажите пожалуйста как реализовать следующую задачу:
Имеются много файлов типа - 9879kkjhasdk6789686.txt (в названии которых есть цифры и буквы)
Есть файл со списком цифр, типа - list.txt
в котором например:
6789686
6786138
 
Задача - найти все файлы в названии которых есть цифры что перечислены в файле list.txt и скопировать в какую нибудь папку(не имеет значение какую)
 
 
Заранее благодарю за помощь.

Всего записей: 19 | Зарегистр. 25-06-2010 | Отправлено: 06:50 04-02-2020
Galiley

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

Код:
@echo off
chcp 1251>nul
pushd "%~dp0"
setlocal enabledelayedexpansion
 
set "Output=%temp%\Output"
set "list=list.txt"
 
if not exist "%list%" (echo Не найден список "%list%" для обработки & echo. & pause & exit /b)
 
set Count=0
for /f %%S in (%list%) do (
    for /f %%F in ('dir /b *%%S*.txt') do (
        if !Count!==0 (
            pushd "%Output%" && popd || md "%Output%"
            echo Копируются файлы: & echo.
        )
        set /a Count+=1
        echo %%F
        copy /y "%%F" "%Output%" >nul
    )
) 2>nul
echo.
if %Count%==0 (
    echo Файлов, удовлетворяющих условиям, не найдено.
) else (
    echo Скопировано %Count% файлов.
)
echo.
pause
exit /b
 

Всего записей: 95 | Зарегистр. 02-01-2020 | Отправлено: 07:52 04-02-2020 | Исправлено: Galiley, 07:53 04-02-2020
NikosColev



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, код батничка для переаасоциации типов файла блокнота с альтернативным решением для Win10x64.
 
В теме по AkelPad, почему-то нет такого решения...

Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 15:10 04-02-2020
Cosmit



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня есть ярлык.
КАК  поставить галку "запуск от имени администратора" с консоли cmd ???
или как создать ярлык с галкой "запуск от имени администратора" с консоли cmd ???
 

картинка

Всего записей: 287 | Зарегистр. 05-12-2005 | Отправлено: 17:03 04-02-2020 | Исправлено: Cosmit, 17:04 04-02-2020
iglezz

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

Цитата:
код батничка для переаасоциации типов файла блокнота  

Имеется в виду этот трюк?
Код:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_EXPAND_SZ /d "x:\path\to\your\program.exe"

Всего записей: 1403 | Зарегистр. 18-02-2003 | Отправлено: 17:30 04-02-2020 | Исправлено: iglezz, 17:30 04-02-2020
YuS_2



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

Цитата:
для переаасоциации типов файла блокнота с альтернативным решением для Win10x64.

Ещё бы расшифровать, что значит тип файлов блокнота и что такое альтернативное решение...
А файлы .txt, ассоциируются примерно так:

Код:
@echo off
assoc .txt=txtfile
ftype txtfile=D:\AkelPad\AkelPad.exe %1

 
 
Добавлено:
Cosmit

Цитата:
КАК  поставить галку "запуск от имени администратора" с консоли cmd ???  
или как создать ярлык с галкой "запуск от имени администратора" с консоли cmd ???


Код:
<# ::
@echo off
powershell.exe -ex bypass -c "&{[scriptblock]::create((gc '%~f0') -join [char]10).invoke()}"
pause&exit /b
#>
# Включение у ярлыка режима запуска от имени администратора
$in = "Name.lnk"
$out = "Name_.lnk"
$bytes = [system.io.file]::readallbytes($in)  
$bytes[0x15]
$bytes[0x15] = $bytes[0x15] -bor 0x20
$bytes[0x15]
[system.io.file]::writeallbytes($out, $bytes)

Всего записей: 3206 | Зарегистр. 03-02-2009 | Отправлено: 18:01 04-02-2020
NikosColev



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iglezz, попробовал. Имхо, таким способом блокнот я не должен увидеть никогда?
Однако ярлык на .txt открывается блокнотом.
На всякий случай .reg такой:

Код:
REGEDIT4
 
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_EXPAND_SZ /d "E:\##PortableProgramm\AkelPad\Original\AkelPad-x64\AkelPad.exe"  

 
YuS_2
Цитата:
Ещё бы расшифровать, что значит тип файлов блокнота и что такое альтернативное решение...  
Я думал, что в этом топике о типе файлов ассоциированным с блокнотом спросят у ОС. Их же много, вопрос в автоматизации.
 
Ну, а альтернативное решение, - любой текстовый редактор. Если нужен путь к конкретно моему, то он есть в коде выше.
 
 
 
Добавлено:
Кстати, обычный инсталлятор AkelPad умеет "заменять блокнот", правда не знаю как он это делает, но успешно.

Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 18:09 04-02-2020
iglezz

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

Цитата:
На всякий случай .reg такой:

Эта строчка для батника/командной строки. И неполнаяПодробнее...

Цитата:
Кстати, обычный инсталлятор AkelPad умеет "заменять блокнот", правда не знаю как он это делает, но успешно.
Так пусть заменит. В реестре потом подсмотреть как именно и забрать решение себе в копилку.

Всего записей: 1403 | Зарегистр. 18-02-2003 | Отправлено: 18:27 04-02-2020
NikosColev



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iglezz
Цитата:
Так пусть заменит. В реестре потом подсмотреть как именно и забрать решение себе в копилку.
А каким способом можно подсмотреть?

Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 18:32 04-02-2020
YuS_2



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

Цитата:
Их же много, вопрос в автоматизации.

Тот, предложенный выше пакетник (запускать его надо от имени администратора) недостаточно автоматизирован? Или Вы желаете, чтобы все ассоциированные расширения у Вас, кто-то собрал в кучу за Вас?

Всего записей: 3206 | Зарегистр. 03-02-2009 | Отправлено: 18:45 04-02-2020
NikosColev



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
Цитата:
Или Вы желаете, чтобы все ассоциированные расширения у Вас, кто-то собрал в кучу за Вас?
Вот-вот, вопрос-то не во мне лично. Ассоциации у всех могут быть разные, - я предположил, что местные обитатели зададут такой вопрос ОСи, а не юзеру, а потом скопом переассациируют. Ошибся?

Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 18:55 04-02-2020
NIKZZZZ



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

Цитата:
код батничка для переаасоциации типов файла блокнота с альтернативным решением для Win10x64.  

Могу предложить альтернативное решение, не требующее правки реестра.
Скачиваете ConH.exe
Переименовываете его в notepad.exe
Создаете батник notepad#.bat

Код:
::HideRun
start "notepad" @"c:\......\AkelPad.exe" %*

Заменяете родной notepad.exe (его желательно переименовать или сохранить для отката) на новоиспеченный, батник должен находиться рядом с ним.

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:01 04-02-2020
NikosColev



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NIKZZZZ, интересная штука, спасибо. Но вот, в данном конкретном случае, решать через лоадер как-то... громоздко, имхо.

Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 19:21 04-02-2020
YuS_2



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

Цитата:
Ассоциации у всех могут быть разные, - я предположил, что местные обитатели зададут такой вопрос ОСи, а не юзеру, а потом скопом переассациируют. Ошибся?

Ошибиться - немудрено. В правильно заданном вопросе содержится половина ответа... если требовались телепаты, то мы там, если что.
а заменить все ассоциации с Notepad.exe, можно так:

Код:
@echo off
set "note=Notepad.exe"
set "pnote=D:\AkelPad\AkelPad.exe"
 
for /f delims^=^= %%a in ('ftype^|findstr /i "%note%"') do ftype %%~a="%pnote%" "%%1"
pause

Всего записей: 3206 | Зарегистр. 03-02-2009 | Отправлено: 19:28 04-02-2020
NIKZZZZ



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

Цитата:
решать через лоадер как-то... громоздко, имхо.

Ну так создайте с помощью mklink символьную ссылку с именем Notepad.exe на AkelPad.exe.

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:41 04-02-2020
NikosColev



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2, вот я и побоялся своё видение решения навязывать)))
Вставил, запустил, - всё гут говорит. Клацаю по ярлыку текстового файла, - вижу блокнот. Я где-то туплю? Вот батник:

Код:
@echo off
set "note=Notepad.exe"
set "pnote=E:\##PortableProgramm\AkelPad\Original\AkelPad-x64\AkelPad.exe"
 
for /f delims^=^= %%a in ('ftype^|findstr /i "%note%"') do ftype %%~a="%pnote%" "%%1"
pause  
И он по изменить в блокноте...
 
 
 
Добавлено:
NIKZZZZ
Цитата:
Ну так создайте с помощью mklink символьную ссылку с именем Notepad.exe на AkelPad.exe.
Как для папки понимаю, для программы что-то не соображу...
"%windir%\system32\notepad.exe"
"E:\##PortableProgramm\AkelPad\Original\AkelPad-x64\AkelPad.exe"
Как их скрестить через символьную ссылку?

Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 19:44 04-02-2020
Smitis



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

Цитата:
Подскажите, пожалуйста, код батничка для переаасоциации типов файла блокнота с альтернативным решением для Win10x64.
 
В теме по AkelPad, почему-то нет такого решения...

С AkelPad предлагалось такое решение

Код:
@reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%~dp0AkelPad.exe\" /z" /f

Но это не переассоциации, а подмена запуска notepad.exe на akelpad.exe

----------
Разум когда-нибудь победит

Всего записей: 2471 | Зарегистр. 09-02-2003 | Отправлено: 20:24 04-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru