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

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

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

Maz



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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

Всего записей: 39178 | Зарегистр. 26-02-2002 | Отправлено: 22:41 20-06-2024 | Исправлено: Maz, 21:52 28-09-2024
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexnov66
А с рабочего стола всё это не обязательно, ну да.
 
351878
Что вы вообще пытаетесь сделать? Изменения в PATH нужно вносить с помощью SETX, а не так.
 
Споткнуться ваш код может здесь:

Код:
 
echo %CURRENT_PATH%
 

если в PATH есть "&".

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

Всего записей: 4172 | Зарегистр. 18-04-2005 | Отправлено: 14:52 04-12-2024
BorlandIMHO

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

Цитата:
когда батники себе писал сокращенное название раздела реестра не срабатывало, пишите полное имя.

Бред. Как раз-таки reg.exe понимает как сокращённые названия разделов, так и полные
351878

Цитата:
запускается только с раб стола


А что при запуске из "другого места" или "от администратора"?.. Ошибку какую выдаёт?

Всего записей: 2787 | Зарегистр. 12-10-2006 | Отправлено: 14:54 04-12-2024
alexnov66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообще первых две и третью заменить одной строкой
for /f "tokens=2* delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do (set CURRENT_PATH="%%b")

Всего записей: 1449 | Зарегистр. 29-08-2005 | Отправлено: 15:05 04-12-2024
wvlad74

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
351878
Цитата:
батник запускается только с раб стола
из любого другого места хрен, пкм от имена администратора тоже хрен.

Total Commander пользуетесь?

Всего записей: 297 | Зарегистр. 12-07-2013 | Отправлено: 16:02 04-12-2024
351878



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

Цитата:
с помощью SETX

я понятия не имею что это
 
псы лан, шучу)
нужно было именно бат вот и всё.

Всего записей: 1253 | Зарегистр. 28-03-2016 | Отправлено: 19:55 04-12-2024 | Исправлено: 351878, 20:07 04-12-2024
alexnov66



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

Цитата:
с помощью SETX


Цитата:
я понятия не имею что это

это не всегда полезно, так что не заморачивайтесь.

Всего записей: 1449 | Зарегистр. 29-08-2005 | Отправлено: 20:42 04-12-2024
GCRaistlin



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

Цитата:
Вообще первых две и третью заменить одной строкой

Так вообще работать не будет.

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

Всего записей: 4172 | Зарегистр. 18-04-2005 | Отправлено: 21:28 04-12-2024
351878



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

Цитата:
А что при запуске из "другого места" или "от администратора"?.. Ошибку какую выдаёт?

а никакую, просто хлоп и нет окошка.
 

Цитата:
Бред. Как раз-таки reg.exe понимает как сокращённые названия разделов, так и полные  

однако ж разница  
BorlandIMHO так что бред или не бред -бывалым видней. мне лишь вас подслушать)..

Всего записей: 1253 | Зарегистр. 28-03-2016 | Отправлено: 23:10 04-12-2024
qenq99

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! Возможно ли, сделать чтоб эта команда также обрабатывала имена параметров реестра с пробелами?
FOR /F %%I IN ('REG QUERY "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /F "Download*" ^|Findstr /rbc:" "') DO REG DELETE "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "%%~I" /F
 
Имя параметра Download Master

Всего записей: 33 | Зарегистр. 29-12-2014 | Отправлено: 15:56 05-12-2024
alexnov66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
qenq99
пишите целиком название параметра, что там искать по одному слову Download
 
Findstr  вообще используется для поиска в файлах, и после ключа C надо писать что искать, а у вас поиск пробела я так понял
 
вот тут с форума кто то предлагал поиск и удаление параметра, не проверял работает или нет.
 
reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run | find /i "Download Master" >nul
if not errorlevel 1 reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run /v Download Master /f >nul

Всего записей: 1449 | Зарегистр. 29-08-2005 | Отправлено: 18:42 05-12-2024 | Исправлено: alexnov66, 18:57 05-12-2024
qenq99

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexnov66
@ECHO.PowerShell Команда - Удаляет по Любому Совпадению в Имени и с Пробелами
PowerShell -C "Remove-ItemProperty -path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -Name Download*"

Всего записей: 33 | Зарегистр. 29-12-2014 | Отправлено: 19:47 05-12-2024 | Исправлено: qenq99, 22:00 05-12-2024
5peciali5t



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет! Можно ли как-то через cURL или иначе определить прямую ссылку на скачивание xml файла, к которому на сайте https://online.yugregion.net/ приводят клики по Выгрузить эксклюзивы, выбор Все объекты (xml яндекс-формат) и клик по кнопке Печать и собственно скачать этот файл без участия пользователя?
скрин кода сайта https://take.ms/K4lei

Всего записей: 1478 | Зарегистр. 17-07-2009 | Отправлено: 13:31 06-12-2024
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
5peciali5t, возможно, вот в этой теме вам помогут

Всего записей: 112 | Зарегистр. 19-12-2021 | Отправлено: 13:53 11-12-2024
virjokk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
5peciali5t
Сохранить в файл с расширением bat, cmd в кодировке UTF-8, запустить батник, скачается export.xml в каталог батника.
Какой-то xml файл качается, но тот ли, который нужен, не знаю:
Код:
<# :
@echo off
cd /d "%~dp0"
powershell.exe -NoP -NoL -NonI -EP Bp -c "&{[ScriptBlock]::Create((gc -lit '%~f0' -enc UTF8) -join [Char]10).Invoke(@(&{$args}%*))}"
exit /b
#>
 
$BatFileName = $MyInvocation.Line -match "(\w:\\.+)'" | %{$matches[1]}
$BatFilePath = Split-Path -Path $BatFileName -Parent
 
$uri="https://online.yugregion.net"
$UserAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
$response = Invoke-WebRequest -Uri $uri -UserAgent $UserAgent -SessionVariable session
$cookie = [string]($session.Cookies.GetCookies($uri)) -Replace " ","; "
$Headers = @{
   "documentLifecycle"="active"
   "frameType"="outermost_frame"
   "initiator"="https://online.yugregion.net"
   "Accept"="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"
   "Accept-Encoding"="gzip, deflate, br, zstd"
   "Accept-Language"="en-US,en;q=0.9,ru;q=0.8"
   "Content-Type"="application/x-www-form-urlencoded"
   "Origin"="https://online.yugregion.net"
   "Referer"="https://online.yugregion.net/search/sale?fid=17755402"
   "Upgrade-Insecure-Requests"="1"
   "Cookies"="$cookie"
}
 
$Body = @{
   "ad_ids"="24428128,24326805,24326730,24575549,24474783,24474416,24489363,24473540,24473371,23498797,23495728,24473923,24631075,24575846,24576144,24601059,24576661,24576153,24650777,24233198,20369897,24473983,24628958,24628957,24628651"
   "format"="yandex-living"
   "type_ids"="0"
}
 
$url="https://online.yugregion.net/export/feed"
Invoke-WebRequest -Uri $url -UserAgent $UserAgent -Method POST -Headers $Headers -Body $Body -OutFile "$BatFilePath\export.xml"

Можно и curl.exe использовать, он тоже умеет POST запросы с предварительным сохранением куков.
Прямая ссылка вряд ли существует, т. к. ответ сервера БД формируется динамически

Всего записей: 358 | Зарегистр. 19-05-2006 | Отправлено: 11:11 12-12-2024 | Исправлено: virjokk, 10:18 15-12-2024
5peciali5t



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
virjokk
Я уж и не надеялся что это возможно, спасибо за надержду и помощь!
Скачиваемый файл соответствует выгруженному вручную по выбранному на сайте переключателю
 
Жилая (xml яндекс-формат)
 
Т.е. без объектов коммерции
Что можно поправить в скрипте чтобы скачивалось по строке
 
Все объекты (xml яндекс-формат)
 
т.е. все объекты, включая коммерцию
https://take.ms/sTTBi
 
И тогда заодно пожалуйста второй вероятнее всего более простой вопрос: как тем же инструментом качать файлы, которые доступны по прямой ссылке, если надумаю перейти на него с curl?
Сейчас качаю так:

Код:
 
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" --retry-max-time 3 -k -o "Famely Capital.xml" "https://mlscenter.ru/xml/converter/feeds/b9b272b2560871e632e8ee4de3fe0288.xml"
 

Всего записей: 1478 | Зарегистр. 17-07-2009 | Отправлено: 15:50 12-12-2024
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
virjokk
Цитата:
Сохранить в файл с расширением bat, cmd в кодировке UTF-8

Я в PowerShell не особо разбираюсь... Разве скрипты PowerShell невозможно запускать напрямую?

Всего записей: 112 | Зарегистр. 19-12-2021 | Отправлено: 16:03 12-12-2024 | Исправлено: Roman_Hayretdinov, 16:04 12-12-2024
virjokk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Roman_Hayretdinov
Можно, конечно, просто больше телодвижений, писать в комстроке что-то типа:
Код:
powershell.exe -EP Bp -File  "C:\Path\script.ps1"
Либо регистрировать файловую ассоциацию на ps1. Батник же просто запустил и все
5peciali5t
Знать бы еще, от каких параметров это зависит. Скорее всего в $Body надо что-то другое написать

Цитата:
как тем же инструментом качать файлы, которые доступны по прямой ссылке

Если имеется ввиду PS, то тут есть варианты:
Код:
(New-Object System.Net.WebClient).DownloadFile($download_url, $local_path)
это самый быстрый, или
Код:
Invoke-WebRequest -URI $download_url -OutFile $local_path

Добавлено:
Попробуйте в $Body вместо "format"="yandex-living" написать "format"="yandex-summary"
Соответственно, для коммерческой недвижимости "yandex-commercial", для новостроек "yandex-new-building"

Всего записей: 358 | Зарегистр. 19-05-2006 | Отправлено: 16:41 12-12-2024 | Исправлено: virjokk, 17:25 12-12-2024
5peciali5t



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

Цитата:
 вместо "format"="yandex-living" написать "format"="yandex-summary"  

разобрался, спасибо! https://take.ms/EPkU1
 

Цитата:
 Если имеется ввиду PS, то тут есть варианты:

а можно готовый пример с заданным именем файла для этого файла?  
https://a.kvpanorama.ru/feeds/705c6c1f-da73-4507-9dca-4318e7242ddf.xml?key=4tZAExlhFXorNZdJWn_CXQ

Всего записей: 1478 | Зарегистр. 17-07-2009 | Отправлено: 17:52 12-12-2024 | Исправлено: 5peciali5t, 18:44 12-12-2024
virjokk

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

Код:
(New-Object System.Net.WebClient).DownloadFile("https://a.kvpanorama.ru/feeds/705c6c1f-da73-4507-9dca-4318e7242ddf.xml?key=4tZAExlhFXorNZdJWn_CXQ", "705c6c1f-da73-4507-9dca-4318e7242ddf.xml")
 
Invoke-WebRequest -Uri "https://a.kvpanorama.ru/feeds/705c6c1f-da73-4507-9dca-4318e7242ddf.xml?key=4tZAExlhFXorNZdJWn_CXQ" -OutFile "705c6c1f-da73-4507-9dca-4318e7242ddf.xml"

 
Добавлено:
Как выяснилось, их сервер не отслеживает никакие параметры запроса, кроме BODY. Не нужны даже куки, в которых ID сессии и токен. Поэтому все решается одной строкой:
Код:
Invoke-WebRequest -Uri "https://online.yugregion.net/export/feed" -Method POST -Body @{"format"="yandex-summary"} -OutFile "export.xml"
То же с помощью curl:
Код:
curl -X POST -d "format=yandex-summary" "https://online.yugregion.net/export/feed">export.xml
Вместе с тем, все же лучше использовать вышеприведенный полноценный запрос, имитирующий действия пользователя в браузере, т. к. ситуация в будущем может измениться. Админы сайта увидят, что народ качает все что нужно пауэршеллом/курлом, не заморачиваясь заходом на сайт, ну и примут меры

Всего записей: 358 | Зарегистр. 19-05-2006 | Отправлено: 22:21 12-12-2024 | Исправлено: virjokk, 10:01 13-12-2024
A27

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как реализовать с помощью батника следующее:
 
1. Вырезать из файла N символов?
 
2. Записать в конец файла непечатаемые ASCII символы?

Всего записей: 70 | Зарегистр. 30-03-2017 | Отправлено: 17:23 13-12-2024 | Исправлено: A27, 17:24 13-12-2024
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум 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

Рейтинг.ru