[CMD] ARJ - не распаковываются некоторые из архивов

Maksim222

Новый пользователь
Сообщения
10
Симпатии
0
Баллы
1
#1
Доброе время суток. Просьба знающих помочь мне. Такая задача - на работе приходят архивы по типу mz????01.742. Эти архивы я переименовываю в mz????01.ARJ, распаковываю - внутри либо архивы AFN_MIFNS00_???????_????????_?????.ARJ, либо файл IZV*.xml - эта xml мне не интересна). Далее, все архивы AFN_MIFNS00_???????_????????_?????.ARJ я распаковываю в текущий каталог и копирую в нужную папку (D:\440\Input\текущая_дата\1\XML сюда если принимаю файлы в 1 раз за день, D:\440\Input\текущая_дата\2\XML сюда если 2раз за день). Внутри AFN архивов файлы с расширениями XML и VRB. На XML стоит проверка в виде батника по бракованным файлам. Он запускается самым последним. Всего 5 батников в цепочке
Проблема в следующем - написал батник, но почему-то батник распаковывает только 1 архив AFN из нескольких, а не все 4 архива.
Знаю, очень муторное дело, но в друг кто-то поймет в чем ошибка. Батники в приложении. Архивы не могу скинуть, только скрины. На скрине лога я красным выделил архив который распаковался
 

Вложения

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,860
Симпатии
5,718
Баллы
588
#2
Здравствуйте, @Maksim222 !

Выполните отладку.
Добавьте echo к командам:
CMD/BATCH:
for %%e in (AFN*.ARJ) do echo call D:\440_Extract4.cmd %%e
(440_Extract1.cmd)

посмотрите, что передаётся.
Потом уберите его, и поставьте в:
CMD/BATCH:
echo arj32 e %1 D:\440\Input\%date:~6,4%%date:~3,-5%%date:~0,-8%\2\XML\
(440_Extract4.cmd)

И ещё концевые пробелы поубирайте со строк с arj32
 

Maksim222

Новый пользователь
Сообщения
10
Симпатии
0
Баллы
1
#3
Для отладки надо отдельный батник писать?
1 скрин - добавил эхо в extract1. В итоге, 4 батник даже не запустился.
2 скрин - добавил эхо к arj32 в extract4 . Все работает так же как и до добавления эхо.
3 скрин - в 4м батнике пути в строках с arj32 указал в кавычках. Уже прогресс, батник заметил остальные 3 архива, но ни один не распаковался
 

Вложения

  • 215.2 KB Просмотры: 3
  • 226.5 KB Просмотры: 3
  • 315 KB Просмотры: 6

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,860
Симпатии
5,718
Баллы
588
#4
Нужен не этот лог, а то что показывает консоль.
Ну или перенаправьте вывод в файл >> файл.txt

1 скрин - добавил эхо в extract1. В итоге, 4 батник даже не запустился.
и не должен был.
 

Maksim222

Новый пользователь
Сообщения
10
Симпатии
0
Баллы
1
#5
В логе 2 записи
1 - добавил вывод в файл на команду "for %%e in (AFN*.ARJ) do echo call D:\440_Extract4.cmd %%e" (видно, что есть обращение к 4м архивам)
2- итоги второй записи изображены на скринах эхо и эхоarj, а также в логе.
 

Вложения

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,860
Симпатии
5,718
Баллы
588
#6
Удалите все echo, которые добавляли.
И замените в батнике Brak440
CMD/BATCH:
exit
на
CMD/BATCH:
exit /b
P.S. Если что-то будет не получаться, рекомендую сверить пути и по возможности передавать батникам по цепочке полные пути (и в кавычках), а не относительные.
Соответственно, в этом случае внутри батника раскрывать аргументы через такой синтаксис: "%~1"
 
Последнее редактирование:

Maksim222

Новый пользователь
Сообщения
10
Симпатии
0
Баллы
1
#7
Ух, насиделся я с этими батниками. Пытаюсь следовать вашим советам, каждый раз новые проблемы выходят. Давайте по-порядку:
1) 3 скрин - поставил кавычки в путях
2) 2 скрин - в 4м батнике прописал аргументы "%~1". После этого ничего не поменялось.
3) Потом я заметил в командной строке какую-то странность при работе архиватора. Запускаю отдельно 4й батник и вижу ошибку (скрин7). Сам код батника на скрине 6. Я думал что при команде "arj32 e %~1 "D:\440\Input\%date:~6,4%%date:~3,-5%%date:~0,-8%\1\XML\" файлы из AFN архивов будут распаковываться в папку XML. Решил поэкспериментировать .
4) Скопировал все архивы в папку XML(скрин 4) и произошло чудо - архивы распаковались, НО! в корневой каталог D:\ (скрин 5). Не понимаю как это работает. К тому же, почему батник ругается на архивы mz*. ARJ? (скрин 1) Они ведь тоже ARJ.

PS Я тут заметил, что на моем компе винда 64х разрядная. А на других компах, где в данный момент работают другие батники и предполагается запускать мой текущий горе-батник для распаковки, 32х разрядные версии. Там и архиваторы стоят arj32. На моем компе тоже arj32. Я сразу не посмотрел разрядность.
 

Вложения

  • 44.7 KB Просмотры: 1
  • 145.9 KB Просмотры: 1
  • 123.4 KB Просмотры: 1
  • 120.7 KB Просмотры: 1
  • 286.5 KB Просмотры: 1
  • 60.9 KB Просмотры: 1
  • 141.1 KB Просмотры: 1
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,860
Симпатии
5,718
Баллы
588
#8
Ну сами смотрите. Я не знаю, что вы такое сделали, что теперь в батник передаётся пустой аргумент.
Если всё изначально работало нормально, то и не нужно ничего было менять. Вся проблема была в команде exit.

А по первому скрину
По коду - сделали всё не так как я писал. Я писал "%~1", вы решили по-своему %~1
Если пишет, что не опознан как ARJ. Вариантов много:

1) Устаревшая версия arj
2) повреждён arj-архив
3) На самом деле "не arj"

Почему бы не выбросить архиватор arj, и не заменить на универсальный 7zip ?
 

Maksim222

Новый пользователь
Сообщения
10
Симпатии
0
Баллы
1
#9
Да вот так получается что батника и небыло изначально. Пришлось с нуля делать для упрощения работы. Архивы изначально даже не в ахривном формате приходят, а с расширением ".742" . Работаю с Центробанком, архиватор представлен им же. Поэтому не получается выбросить его.
Все равно, спасибо за помощь, буду дальше пробовать. Проверю батники еще раз по вашим советам
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,860
Симпатии
5,718
Баллы
588
#10
Просто не торопитесь. Поубирайте @echo off, чтобы все команды были видны.
Проверяйте каждую ошибку. Ни одной не должно быть. И у каждой своё логичное объяснение. Проверяйте каждую строку.
Проверьте ключевые команды отдельно, без батника.
Я максимум, что могу, подключиться к вашему домашнему компу и там посмотреть, что вы делаете.
На данном этапе, трудно сказать чисто по логам из-за чего появились новые ошибки.
Разрядность здесь вряд ли играет какую-то роль.
 
Сверху Снизу