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

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

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

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

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



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

Код:
 
if "%link%"=="%link::=%" (echo Error) else echo Online/Offline
 

 
У вас два else подряд. Замените все не относящееся к if и else на что-нибудь попроще (rem, например), и сразу увидите. Правда, работать все равно не будет: %str% в середине вернет то, что вы просите, а не то, что ожидаете, - почитайте про delayed expansion (set /?).
Вообще, не делайте лаконичность кода самоцелью. Зачем пихать все проверки в один блок? Тут в этом никакой необходимости.

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

Всего записей: 3483 | Зарегистр. 18-04-2005 | Отправлено: 23:47 17-05-2022
BorlandIMHO

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

Цитата:
Вы невнимательно прочитали

Вы ведь про этот https://github.com/streamlink "стримлинк"?..
Так он на пайтоне нарисован. Устанавливать {как положено} и дебажить его нет ни времени, ни сил (да и желания тоже нет ), но, насколько я понимаю, сообщения "файл не найден" идут не от пайтона, а от венды...
Пайтон обычно по-другому ругаеццо...

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

Всего записей: 1607 | Зарегистр. 12-10-2006 | Отправлено: 00:40 18-05-2022 | Исправлено: BorlandIMHO, 00:49 18-05-2022
notinthewoods



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin, BorlandIMHO
Разобрался наконец) Лоханулся я из-за кавычек, блин... Дело в том, что при нерабочем прокси:

Код:
echo %link%

выдает:

Цитата:
Не удается найти указанный файл.

Если же в кавычках:

Код:
echo "%link%"

то ответ:

Цитата:
"error: Unable to open ............Caused by ProxyError('Cannot connect to proxy.', NewConnectionError ........ Failed to establish a new connection: [WinError 10061] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение..."

Короче, сделал такую проверку на наличие слов:

Код:
:metka1
cls
for /f "delims=" %%a in ('streamlink --http-proxy %proxy% --https-proxy %proxy% --stream-url %url%') do @set link=%%a
echo "%link%" |findstr /C:"Cannot connect to proxy" && echo Proxy don't work && timeout 30 && goto metka1 || goto metka2
:metka2
cls
echo "%link%" |findstr /C:"No playable streams found" && echo Stream OFF && timeout 30 && goto metka1 || goto metka3
:metka3
cls
echo Stream ON
...

Вроде всё работает)
Большое вам спасибо за помощь!

Всего записей: 250 | Зарегистр. 31-01-2015 | Отправлено: 20:24 18-05-2022
701MB



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
сами пользовались? вообще не понимаю как это работает. это в любом случае не решение, сегодня куки, а зватра что ещё надо. не на каждый же чих отдельное приложение качать.

Всего записей: 38 | Зарегистр. 04-03-2007 | Отправлено: 12:34 19-05-2022
Fenrizz



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
701MB
Тогда открываете файл C:\Users\UserName\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies любым клиентом для sqlite и удаляете ненужные строки из таблицы cookies.  
Хотя, наверное, можно просто файл удалить.

Всего записей: 565 | Зарегистр. 12-09-2017 | Отправлено: 13:55 19-05-2022 | Исправлено: Fenrizz, 13:58 19-05-2022
Propretor



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, нужна помощь. Сам не справляюсь. В интернете нужного не нашел.
Нужен командный файл, который у всех файлов текущего каталога будет изменять имя файла на имя в другой кодировке.
На сколько я понимаю из ASCII в UTF8-8.
Для чего это мне:
Windows 7 создает имена файлов, как я понимаю, в ASCII. Если в имени присутствуют русские символы, то при отправке этих файлов на FTP сервер, все русские буквы становятся крякозяблами. Отсюда и задача.
Да и в машине часть имен файлов MP3 c русскими буквами отображаются некорректно.
Так что задача востребованная.

Всего записей: 333 | Зарегистр. 12-03-2003 | Отправлено: 14:22 19-05-2022
BorlandIMHO

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

Цитата:
Windows 7 создает имена файлов, как я понимаю, в ASCII.

Вы понимаете неправильно. ОС Windows 7 имена файлов создаёт и хранит в UTF-8.

Цитата:
Если в имени присутствуют русские символы, то при отправке этих файлов на FTP сервер, все русские буквы становятся крякозяблами.
Это проблема не Windows, а софта, используемого для "отправки" и/или FTP-сервера (а возможно и того софта, который вам эти "кракозябры" показывает).


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

Всего записей: 1607 | Зарегистр. 12-10-2006 | Отправлено: 15:53 19-05-2022 | Исправлено: BorlandIMHO, 15:55 19-05-2022
Propretor



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

Цитата:
Вы понимаете неправильно. ОС Windows 7 имена файлов создаёт и хранит в UTF-8.

Это теория.  Перекодировщик Windows-1251 в UTF-8 решает проблему, но нашел только конверторы всего содержимого файла, а не имени.
 
Добавлено:

Цитата:
Это проблема не Windows, а софта, используемого для "отправки" и/или FTP-сервера (а возможно и того софта, который вам эти "кракозябры" показывает).

Отправка с помощью Total Commander, смотрение - с помощью любого WEB-браузера. Я использую Cent Browser (Chromium).

Всего записей: 333 | Зарегистр. 12-03-2003 | Отправлено: 16:03 19-05-2022
Inoz2000



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

Цитата:
Перекодировщик Windows-1251 в UTF-8 решает проблему
значит вопрос закрыт.

----------
Мы все умрём. (-:

Всего записей: 3761 | Зарегистр. 23-04-2009 | Отправлено: 16:07 19-05-2022
Propretor



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

Цитата:
значит вопрос закрыт.
 

Ну если вы покажите мне код, тогда да.
А пока что я скопировал крякозяблы с экрана браузера, вставил в конвертор Windows-1251 в UTF-8 и увидел корректный текст.

Всего записей: 333 | Зарегистр. 12-03-2003 | Отправлено: 16:12 19-05-2022
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ваш браузер не может показывать сразу юникод? Какая жаль.

----------
Мы все умрём. (-:

Всего записей: 3761 | Зарегистр. 23-04-2009 | Отправлено: 16:19 19-05-2022
Fenrizz



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

Цитата:
Отправка с помощью Total Commander, смотрение - с помощью любого WEB-браузера.

В TC: Настройка ftp-соединения - Расширенные - Кодировка имён файлов (можно поставить автоопределение)

Всего записей: 565 | Зарегистр. 12-09-2017 | Отправлено: 16:27 19-05-2022 | Исправлено: Fenrizz, 16:28 19-05-2022
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Propretor В винде  перекодировать имена файлов ни к чему, если только файлы не попали  откуда-то извне в другой кодировке. Мне кажется  нужно в консерватории поправить? То бишь в FTP сервере  включить поддержку UTF-8. Например в  FILEZIILA SERVER поддержка  UTF-8 есть.  
Если все же  нужно перекодировать, то решение для  батника здесь, причем сразу на FTP кладет:
 
https://www.cyberforum.ru/cmd-bat/thread1534916.html
https://www.cyberforum.ru/post8100019.html

Код:
 
<"filelist.txt">"%~dp0comfile" (
echo open %ftpserver%
echo %ftpuser%
echo %ftppassw%
echo cd %ftpfolder%
echo lcd %folder_out%
for /f "tokens=* delims==" %%i in ('more') do @(
 >nul chcp 1251
 set x=%%i
 cmd/v/c echo put !x!
)
>nul chcp 866
echo quit
)
ftp -i -s:"%~dp0comfile"
 

в файл  с именем comfile выводится список файлов в нужной кодировке, в данном случае в WIN 1251, изначально имена файлов в кодировке 866.
 
В этом батнике список файлов  в comfile будет в кодировке UTF-8

Код:
 
echo on
<"filelist.txt">"%~dp0comfile" (
for /f "tokens=* delims==" %%i in ('more') do @(
 >nul chcp 65001
 set x=%%i
 cmd /v/c echo put !x!
)
>nul chcp 866
echo quit
)
/

 
В поше имхо есть спец-функции / параметры перекодирования , ищи сам, я пош не знаю

----------
В сортире лучше быть юзером, чем админом...

Всего записей: 11227 | Зарегистр. 10-12-2003 | Отправлено: 17:01 19-05-2022 | Исправлено: ipmanyak, 17:26 19-05-2022
BorlandIMHO

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

Цитата:
 Кодировка имён файлов (можно поставить автоопределение)

Это при наличии файлов {с именами в правильной кодировке} на сервере. Иначе автоопределение кодировки не работает, а выбирается умолчание, зашитое в недрах TC. И при несовпадении этого умолчания с настройкой сервера - файлы зальются с "кривыми" именами (причём, сам TC этого не поймёт, он будет видеть именно то, что залил )

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

Всего записей: 1607 | Зарегистр. 12-10-2006 | Отправлено: 17:12 19-05-2022
Propretor



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

Цитата:
В TC: Настройка ftp-соединения - Расширенные - Кодировка имён файлов (можно поставить автоопределение)

Большое спасибо! Реально работает с сайтом, но не решает проблемы с мультимедиа в автомобиле
 
Добавлено:
ipmanyak
Спасибо дружище! Завтра буду проверять работоспособность кода.

Всего записей: 333 | Зарегистр. 12-03-2003 | Отправлено: 20:04 19-05-2022
StanislawK

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

Цитата:
не решает проблемы с мультимедиа в автомобиле

обычно, мультимедия в автомобиле показывает на экране не имена файлов а IDv3 TAG.
 
проблема "кривой" кодировки тэгов была особенно острой в конце 90х начале 2000х.  с тех пор осталось полно конверторов тэгов. из любой в любую кодировку (ISO - DOS - KOI8 - WIN1251 - UTF )
в проигрывателе AIMP есть встроенный, можно сразу всем файлам переконвертировать.
 
но это мелочь, на фоне того что, часто тэги заполнены некорректно.
 
 
 
а если плеер в автомобиле показывает именно имена файлов, то просто попробуй флешки отформатированные в другие файловые системы в NTFS   FAT32  extFAT

Всего записей: 254 | Зарегистр. 23-11-2009 | Отправлено: 06:53 20-05-2022
Propretor



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

Цитата:
обычно, мультимедия в автомобиле показывает на экране не имена файлов а IDv3 TAG.

Ключевое слово - ОБЫЧНО.  
 

Цитата:
а если плеер в автомобиле показывает именно имена файлов, то просто попробуй флешки отформатированные в другие файловые системы в NTFS   FAT32  extFAT

Система понимает только FAT32, ExFAT под вопросом, не проверял, а NTFS не принимает точно.
 
Добавлено:
ipmanyak
Что у меня вышло.
Этот код:

Код:
 
@ECHO OFF
IF EXIST Files1 DEL Files  
FOR %%f IN (*.pdf) DO ECHO %%f >> Files1
 
echo on
<"Files1">"%~dp0Files2" (
for /f "tokens=* delims==" %%i in ('more') do @(
 >nul chcp 65001
 set x=%%i
 cmd /v/c echo !x!
)
>nul chcp 866
)
 

Делает список файлов Files1 исходных файлов PDF в текущем каталоге и формирует список файлов Files2, со списком имен файлов в новой кодировке. Как перемену имени в цикле сделать?

Всего записей: 333 | Зарегистр. 12-03-2003 | Отправлено: 08:59 20-05-2022
GCRaistlin



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

Цитата:
Это теория.  Перекодировщик Windows-1251 в UTF-8 решает проблему, но нашел только конверторы всего содержимого файла, а не имени.

Проблему чего решает перекодировщик?

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

Всего записей: 3483 | Зарегистр. 18-04-2005 | Отправлено: 10:35 20-05-2022
Propretor



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

Цитата:
Проблему чего решает перекодировщик?
 

Корректного отображения русских букв в имени файла

Всего записей: 333 | Зарегистр. 12-03-2003 | Отправлено: 10:45 20-05-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Propretor
Если вы "нашли только конверторы всего содержимого файла", с чего вы взяли, что "проблему русских букв" в именах тоже можно решить перекодировщиком?

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

Всего записей: 3483 | Зарегистр. 18-04-2005 | Отправлено: 11:05 20-05-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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru