Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - обрабовать группу файлов в архиве

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


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

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


здравствуйте, задача такая: есть списов файлов в txt, каждый из этих файлов находится в архиве, нужно последовательно (каждый по отдельности, а не все сразу, тк имена файлов могут быть одинаковые) распаковать, обработать какой-нибудь программой, например trid.exe, вместо нее может быть любая другая, записать результаты по каждому файлу в отдельный файл, затем распакованный файл удалить.
Вот что у меня есть

PHP код: Выделить весь код

rem куда распаковывыем

set spath
=d:1rar
rem куда кладем файлы с результатами
set dpath
=d:1trid
rem считаем строки в файле с путями к файлам
set 
/a j=0
for /"tokens=*" %%j in (list.txt) do (set /a j=j+1)
rem х номер строки и имя файла с результатами
for /%%x in (1,1,%j%) do (
FOR /
"usebackq delims=" %%n in (list.txt) do (
winrar.exe e -%%%spath%|
for /
%spath% %%m in (*.*) do (
trid.exe> %dpath%%%x.trid "%%m")|
del /"%%m"))
cd /%dpath%
"C:\Program Files\WinRAR\winrar.exe" %dpath%trid.zip 

Вообщем, что у меня получается, вернее, не получается:
1) Файл не удаляется, пишет "не удается найти d:\1\rar\%m. Попытка записи в несуществующий канал"
2) Результаты обработки записываются в один файл 1.trid, не во много файлов 1-j.
(У меня вся программа в одной строке, это я здесь переосы расставила)
Извините, если сумбурно написала, но уже голова кипит)

Отправлено: 08:13, 11-04-2012

 

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


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

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


заменила del на erase, файлы теперь удаляются, но экзешник не отрабатыват, то есть все также создается один файл, но пустой.
ПРОбовала запустить отдельно строчку
PHP код: Выделить весь код

for /%spath% %%m in (*.*) do ( trid.exe> %dpath%%%x.trid "%%m")| erase /"%%m"

файл удаляется, *.trid создается, но пустой.
Мне нужно, чтобы по порядку каждому j сопоставлялся последовательно каждый n. А получается, что для каждого j цикл перебирает все n и только потом переходит в следующему j.
Помогите, пожалуйста, я еще совсем новичок, это мой второй скрипт))

да, экзешник не отрабатывает с ошибкой "Файл не найден", возможно он удаляется раньше, чем запускается экзешник?

Отправлено: 10:16, 12-04-2012 | #2



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

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


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


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

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


еще добавлю, первоначально написала другой алгоритм, сначала все распаковываем, потом все новые пути к файлам записываем в файл, и уже через for для каждой строки в файле запускаем экзешник. Так все работало, пока непоявились файлы с одинаковыми именами.

Отправлено: 11:01, 12-04-2012 | #3


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


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

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


всем спасибо, справилась сама) идею взяла отсюда http://forum.oszone.net/thread-227420.html
выкладываю код, может кому-то пригодится обрабатывать файлы в архиве и записывать результат по каждому файлу в отдельный файл.
PHP код: Выделить весь код

setlocal enableextensions enabledelayedexpansion 

set spath
=d:exifrar585 
set dpath
=d:exifrarrar
FOR /"delims=*" %%n in (list_rar.txt) do ( 
set /a lcount+=1     
winrar
.exe e -%%%spath%         
for /
%spath% %%m in (*.*) do (         
trid.exe>%dpath%!lcount!.trid "%%m"         
ping -n 3 127.0.0.1  1>nul|del /"%%m")) 
cd /%dpath
"C:\Program Files\WinRAR\winrar.exe" %dpath%trid.zip 
endlocal 


Отправлено: 15:58, 12-04-2012 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
WMI - скрипт, создающий нового пользователя, группу, и добавляющий пользователя в группу Niaoppla Скриптовые языки администрирования Windows 7 11-01-2012 19:34
Сменить иконку на архиве ~3 Гиг shemp Хочу все знать 6 07-02-2010 22:22
В архиве есть вирус Parite.A zhefran Лечение систем от вредоносных программ 3 17-06-2008 13:06
[решено] Пароль на архиве Sirkomurko Хочу все знать 3 24-03-2007 14:00




 
Переход