Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 4

Автор: KapralBel
Дата сообщения: 23.10.2007 09:31
Maza Faka
Для разового запуска - проще
Для постоянного - нет
Автор: BELOV
Дата сообщения: 23.10.2007 11:07
Как отписаться от данной темы? Она сейчас для меня не актуальна. Пробую как обычно зайти на страницу подписки , чтобы исключить эту тему , но её (этой темы ) нет в списке. Писал модератору, нет ответа...Поток сообщений по не актуальной теме сильно мешает, поэтому написал прямо в тему.
Автор: KapralBel
Дата сообщения: 23.10.2007 11:14
BELOV
БАГ РЕПОРТ
Автор: William Gates
Дата сообщения: 23.10.2007 12:33
Всем привет!
Вопрос такой: есть ли возможность распаковать zip-архив с помощью bat-файла?
Автор: KapralBel
Дата сообщения: 23.10.2007 12:45
William Gates
Можно
PKZip25 -ext Archive.zip
или
WinRAR x Archive.zip
Автор: William Gates
Дата сообщения: 23.10.2007 13:20
KapralBel
А если 7zip?


Добавлено:
KapralBel
Есть такой вариант:
7z e archive.zip c:\soft -r
Это из хелпа к данному архиватору. Прокомментируешь?
Автор: KapralBel
Дата сообщения: 23.10.2007 13:46
William Gates
работает твой вариант?
Автор: William Gates
Дата сообщения: 23.10.2007 13:51
KapralBel
нет, не выходит каменный цветок. Короче, при запуске батника говорит что команда 7z не является внутренней или внешней командой. Что делать? Я еще не силен в англицком, может где есть хелп 7z на русском?
Автор: Maza Faka
Дата сообщения: 23.10.2007 13:56
William Gates

Цитата:
говорит что команда 7z не является внутренней или внешней командой

Скопируй консольную версию архиватора в папку Windows.
Автор: Nagual
Дата сообщения: 23.10.2007 13:58
William Gates
попробуй так
"полный_путь_к_7z" x -r -aoa -o"папка_куда" "путь_к_архиву"
Автор: William Gates
Дата сообщения: 23.10.2007 14:16
Maza Faka
Nagual
KapralBel

Спасибо всем за помощь! Я выложил 7z.exe в каталог с батником, и применил вот такой код, вполне работоспособный:

@echo off
7z x -r -aoa -o"D:\Temp" "D:\Arhiv.zip"

Все файлы из архива Arhiv распаковываются в каталог Temp.
Важно между параметром -о и кавычками " не допустить пробела, иначе будет incorrect command line.

Добавлено:
Теперь такая проблема. Пытаюсь ввывести на экран пояснения(чтобы как-то успокоить users пока идет распаковка). Вот код:
@echo off
chcp 1251
echo "Распаковываю архив. Подождите..."
7z x -r -aoa -o"D:\temp" "D:\arhiv.zip"

В итоге выходит не текст, а какая-то кракозябра. Где поправить кодировку?
Автор: Nagual
Дата сообщения: 23.10.2007 14:46
William Gates
поправиь кодировку самого файла
корректнее и лучше всех работает с кодировкой akelpad
Автор: KapralBel
Дата сообщения: 23.10.2007 14:51
William Gates
1. Добавь пусть к папке 7Зип в переменную среды Path (если надо расскажу как, или еще кто поможет)
2. Батнички лучше всего писать в кодировке ОЕМ (866). В ней также работает редактор FARManager

Автор: William Gates
Дата сообщения: 23.10.2007 15:24
А если надо распаковать все файлы с расширением zip в один каталог? Неважно сколько будет архивов и не запрашивая, заменять одинаковые файлы. *.zip не проходит.
Автор: KapralBel
Дата сообщения: 23.10.2007 16:16
William Gates

Код: 7z x *.zip -y
Автор: AndryG
Дата сообщения: 23.10.2007 17:11

Цитата:
ну тогда уж arj t — проверять на целостность.

А не получается скармливаю любую часть многотомника - Errorlevel=0 "усё в порядке - том целый"

Как же узнать .. все ли тома архива ARJ у меня собрались в папке или нет?

Автор: William Gates
Дата сообщения: 23.10.2007 17:12
KapralBel
да с параметром -y распаковывает, спасибо.Опять тот же вопрос: где найти хелп к 7z на русском?
Автор: KapralBel
Дата сообщения: 23.10.2007 17:15
AndryG
Попытайся удалить один том и проверь

William Gates
Там достаточно простой англицкий
Автор: William Gates
Дата сообщения: 23.10.2007 17:24
KapralBel
Только если в школе учил англицкий. А если кое-как научили шпрехать...
Вот еще задача. Я использую утилиту hs_message (накопал её на этом форуме). После распаковки она выдает сообщение типа все готово. Но бывает ак что архив поврежден и распаковка не прошла. А она все равно выдаст что все нормально. Как тут быть?Как здесь использовать errorlevel?Или можно как-то без него обойтись?
Автор: AndryG
Дата сообщения: 23.10.2007 18:16
William Gates

Код:
...КОМАНДА РАСПАКОВКИ...
IF %errorllevel%==0 (
hs_Message "Всё готово" "заголовок" I Ok
) ELSE (
hs_Message "Ошибки при распаковке!!!" "заголовок" E Ok
)
Автор: GORA2
Дата сообщения: 23.10.2007 19:00

Цитата:
Опять тот же вопрос: где найти хелп к 7z на русском?
На этом форуме есть ветка 7-Zip там есть ссылка в шапке.
Вот прямая ссылка http://gora.solta.ru/for_all/7-Zip_Help_ru_4.55.7z
Автор: lexalug
Дата сообщения: 23.10.2007 23:35
01MDM
Спасибо огромное!
А подскажите последнее:
в данной папке есть файлы qwe.bat и qwe.txt
при его запуске (qwe.bat), нужно, чтобы он копировал qwe.txt в другую какую-нить папку.
Расширения всегда остаются те же, а имена файлов сейчас одни, потом -другие, но у обоих файлов одинаковые на момент выполнения.
Как это зделать?
Напомню - Windows 98.

%~n0 (98я такого не знает), а %0 (98я видит вместе с расширением, т.е. не напишешь ... %0.txt ... , это она распознает как qwe.bat.txt) - не проходят.
Автор: KapralBel
Дата сообщения: 23.10.2007 23:42
lexalug
Либо в начале батничка прописывай явно название текстового файла
либо wsh
Автор: 01MDM
Дата сообщения: 24.10.2007 08:59
lexalug
тогда запускай без расширения

Код:
@ECHO OFF
copy %0.txt Path\to\folder >nul
Автор: William Gates
Дата сообщения: 24.10.2007 10:54
AndryG
Исправив синтаксические ошибки
Цитата:
%errorllevel%

все сработало, спасибо.

Добавлено:
GORA2
7-Zip_Help_ru_4.55.7z - то что надо

Добавлено:
А может один батник запускать другой, который находится на другом компе?
Автор: KapralBel
Дата сообщения: 24.10.2007 11:27
William Gates

Цитата:
А может один батник запускать другой, который находится на другом компе?

Без проблем


Код:
call \\comp_drugoj\bat\super1.bat
\\comp_tretij\bat\super2.bat
Автор: PrinceX
Дата сообщения: 24.10.2007 11:36
Подскажите можно ли как-то переименовывать файл согласно номеру дня недели?
Автор: Tipulatoid
Дата сообщения: 24.10.2007 14:44
PrinceX

Код: @echo off
set file=test.txt
echo wscript.echo WeekDayName(weekday(date))>day.vbs
for /f %%a in ('cscript day.vbs //Nologo') do set day=%%a
del /q day.vbs
ren %file% %day%.txt
Автор: wolf0425
Дата сообщения: 24.10.2007 16:24

Цитата:
Тьфу ты, тебе же нужен номер дня, а не само название:
echo wscript.echo WeekDayName(weekday(date))>day.vbs

Tipulatoid, а зачем сначала получать день нелели циферкой, потом преобразовывать в слово, а потом снова в другую циферку?
Автор: William Gates
Дата сообщения: 24.10.2007 16:57
1. Есть список файлов такого вида "name_24.10.2007-06.00.zip" и т.д. Вопрос: как из этого списка удалить все файлы, оставив только по одному файлу за месяц?
2. То же самое, только оставить два файла: с первой датой в месяце и с последней?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: Доступ к реестру через RegEdit?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.