Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - распаковка файлов в директорию а также вывод сообщения по маске файла

Ответить
Настройки темы
CMD/BAT - распаковка файлов в директорию а также вывод сообщения по маске файла

Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Имеется скрипт который отвечает за распаковку файлов в директорию а также вывод сообщения по маске файла имени что это за файл и удаления файлов архива. Данный скрипт работал на windows xp. При переходе на windows 7 перестал работать. Перестал работать на моменте где нужно распаковать файл. Почему то он не распаковывает а удаляет его. Если вручную распаковать в нужную директорию то сообщения выводятся. Вот текст этого скрипта.
echo off
if exist z:\f_in\*.arj copy z:\f_in\*.arj c:\Post\Place\
arj x c:\post\place\*.arj c:\post\place\
del c:\post\place\*.p7s
del c:\Post\Place\*.arj
del z:\f_in\*.arj
if exist c:\post\place\*044031*.xml net send "R34Makarova" Њ*ббЁў “аоЇЁ*бЄЁ©
if exist c:\post\place\*044002*.xml net send "R34Makarova" Њ*ббЁў ЃлЄ®ўбЄЁ©
if exist c:\post\place\*044007*.xml net send "R34Makarova" Њ*ббЁў †Ёа*®ўбЄЁ©
if exist c:\post\place\*044018*.xml net send "R34Makarova" Њ*ббЁў ЌЁЄ®«ў*ҐўбЄЁ©
if exist c:\post\place\*044042*.xml net send "R34Makarova" Њ*ббЁў ЉЁа®ўбЄЁ©
if exist c:\post\place\*044025*.xml net send "R34Makarova" Њ*ббЁў ђг¤*п*бЄЁ©

Отправлено: 12:48, 05-07-2017

 

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


echo off удали, посмотри, что пишет. Мне кажется проблема в строке
Код: Выделить весь код
arj x c:\post\place\*.arj c:\post\place\
У тебя arj.exe на семёрке есть то? Он где рядом со скриптом лежит или в Program Files установлен?

Отправлено: 12:58, 05-07-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


«Вручную» — это как? arj.exe есть? Доступен в PATH? Какова разрядность используемой ОС — «windows 7»?

И код пакетного файла в любом случае надо корректировать.

Отправлено: 13:00, 05-07-2017 | #3


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


пробовал arj ставить не помогло. да именно так, проблема с этой строкой. arj в program files. echo off удаление также не помогало тупо удаляло

Отправлено: 14:20, 05-07-2017 | #4


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


romfus, команда net send в Windows 7 больше не поддерживается. Как доказательство: net send /? не отработает. Почитайте о команде MSG.
Сто лет не использовал когда-то горячо любимый ARJ. Архиватор работает в командном окне или у него графический интерфейс? Errorlevel он возвращает?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 05-07-2017 в 14:57.


Отправлено: 14:35, 05-07-2017 | #5


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Запусти скрипт из каталога программы arj.exe. Диск z: есть в новой системе? Да, и нет сенд работать не будет в 7.

Отправлено: 14:39, 05-07-2017 | #6


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


я знаю я уже настроил через msg

командное окно

еррорлевелов нет

Отправлено: 15:26, 05-07-2017 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата romfus:
еррорлевелов нет »
Вообще-то, они как раз должны быть.

Вы на мои вопросы ответите?

Отправлено: 15:35, 05-07-2017 | #8


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Вот мой вариант батника
Код: Выделить весь код
@Echo Off
Cls

Set "FileIn=z:\f_in\*.rar"
Set "DirOut=Z:\Post\Place"
Set "MsgName=R34Makarova"

Set "Arc=C:\Program Files\WinRAR\Rar.exe"

If Not Exist "%Arc%" (
	Echo Архиватор не найден
	Echo "%Arc%"
	Pause
	GoTo :Eof
)

Pushd "%DirOut%"

If Not %ErrorLevel%==0 (
	Echo Не найдена целевая папка
	Echo "%DirOut%"
	Pause
	GoTo :Eof
)

"%Arc%" x "%FileIn%"
If %ErrorLevel%==0 Del "%FileIn%"

Del "%DirOut%\*.p7s" 2>nul

if Exist *044031*.xml msg "%MsgName%" тра ля ля
if Exist *044002*.xml msg "%MsgName%" тра ля ля 
if Exist *044007*.xml msg "%MsgName%" тра ля ля
if Exist *044018*.xml msg "%MsgName%" тра ля ля
if Exist *044042*.xml msg "%MsgName%" тра ля ля
if Exist *044025*.xml msg "%MsgName%" тра ля ля

Popd
GoTo :Eof

У меня не нашлось ни архиватора, ни arj- архива. Моделировал на основе rar.
Пропишите свои файлы архива, вместо *.rar на *.arj
Z:\Post\Place на c:\Post\Place
Вместо Arc=C:\Program Files\WinRAR\Rar.exe путь к Вашему архиватору.
Измените мои строки с сообщениями на нужные Вам.
Не вижу смысла делать копию copy z:\f_in\*.arj c:\Post\Place\ чтобы потом всё это поубивать
del c:\Post\Place\*.arj
del z:\f_in\*.arj
Батник необходимо сохранить в DOS (866) кодировке.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 05-07-2017 в 17:27.


Отправлено: 16:28, 05-07-2017 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата megaloman:
У меня не нашлось ни архиватора, ни arj- архива. »
olddos - Поиск в Google (конечно, есть ещё и Open-source ARJ).

Цитата megaloman:
Вот мой вариант батника »
Я бы ещё увязал удаление с нулевым кодом возврата от архиватора.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:42, 05-07-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - распаковка файлов в директорию а также вывод сообщения по маске файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Распаковка по маске pawok_21 Скриптовые языки администрирования Windows 6 20-07-2017 10:58
Любой язык - скрипт по копирвоанию и последующего удаления файлов по маске названия файла santey007 Скриптовые языки администрирования Windows 19 22-12-2015 10:43
PowerShell - Вывод по маске из лог файла. AZABAZA Скриптовые языки администрирования Windows 0 04-12-2015 10:58
CMD/BAT - Копирование файлов в папки по маске файла и маске папки (BAT) skyskiff Скриптовые языки администрирования Windows 7 20-09-2015 22:41
CMD/BAT - [решено] Вывод имён файлов файлов "по маске" SANIOK_AV Скриптовые языки администрирования Windows 2 17-07-2012 19:10




 
Переход