Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Не выполняется bat файл разархивирования 7zip архива (http://forum.oszone.net/showthread.php?t=349197)

Jeka124 13-07-2021 14:46 2962060

Не выполняется bat файл разархивирования 7zip архива
 
Всем привет. Проблема заключается в следующем. Есть команда по разархивированию 7zip архива, в командной строке все работает ок, но через bat файл отказывается работать.

Пример "C:\Program Files (x86)\7-Zip\7z.exe" x "B:\Проекты другие\Публикация объявлений\work\478 Door+Latch.zip" -o"B:\Проекты другие\Публикация объявлений\work\Door Latch"

Jeka124 13-07-2021 16:38 2962071

уже нашел проблему, русские слова в названиях, когда изменил названия папок все стало работать, но хотелось бы знать как работать с путями которые содержат кириллицу а то каждый раз переименовывать папки как-то не то.

megaloman 13-07-2021 17:13 2962074

Вложений: 2
Jeka124, я это предполагал, поэтому попросил у Вас файл. ИМХО, Вы создали файл в 1251 кодировке. Проблема имеет два решения.
1. По умолчанию bat-файлы должны быть написаны в 866 кодировке, если в них содержатся кириллические символы. Сохраните Ваш bat-файл в 866 кодировке.
2. Загрузите в bat-файле нужную кодовую страницу. Где-то вверху батника напишите строку
>nul Chcp 1251
и тогда можете написать свой батник в кодировке 1251.
Примеры файлов в разной кодировке прилагаю. Единственное, чтобы не создавать Ваши пути и программы, я поставил перед командой Echo.

Jeka124 13-07-2021 19:05 2962076

Загвоздка в том, что этот файл генерируется другой программой и автоматически кодировка UTF - 8, и из-за этого собственно возникает проблема.

В начале bat файла мне нужно прописать эту строку - >nul Chcp 1251 чтобы все работало?

alpap 13-07-2021 19:31 2962077

Цитата:

Цитата Jeka124
файл генерируется другой программой и автоматически кодировка UTF - 8 »

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

megaloman 13-07-2021 19:35 2962078

Jeka124, С UTF-8 не получится.
Попробуйте >nul chcp 65001, но если файл генерируется чем-то сторонним, то непонятно, как туда попадет эта строка.

Jeka124 13-07-2021 19:49 2962079

Я работаю с программой ZennoPoster и с помощью это программы генерирую сам bat файл, но как я написал выше автоматом все сохраняется в кодировке UTF - 8

bat файл генерируется по моим критериям и прописать туда могу, что угодно

alpap 13-07-2021 20:42 2962083

Цитата:

Цитата Jeka124
Я работаю с программой ZennoPoster »

тогда:
вариант 2 megaloman и
прога exiftool -charset cp1251

DJ Mogarych 13-07-2021 20:56 2962084

Перешли бы на Powershell и не мучались, тем более что работать с zip он умеет безо всякого 7-zip.

megaloman 13-07-2021 21:39 2962085

Вложений: 1
Jeka124, У меня с UTF отработало. Файл прикрепил. Единственное, у меня там свои пути к 7-Zip и диск


Время: 09:47.

Время: 09:47.
© OSzone.net 2001-