Войти

Показать полную графическую версию : [решено] Присвоение имени файла имя архива.


umagonj
15-07-2014, 17:57
Добрый вечер!
Существует проблема, из организации N приходят файлики вида цифрыцифрыцифры.11
в каждом файлике содержится txt файл
имена архивов у каждого своё (территориальное различие и оперпункт другой - нисуть) но ровно в каждом архиве тхт файл с одинаковым именем.
как присвоить извлекаемому тхт файлу имя архива?
заранее благодарен.

Iska
15-07-2014, 18:50
Тип архива какой? Образцы конкретных имён архивов приведите.

umagonj
16-07-2014, 07:33
PZ412072.11
тип архива arj
внутри содержится всегда name.txt
в данный момент пробую доставать файлы через arj32 (версии поновее не проверяют тип архива, а просто извлекают файл)

umagonj
16-07-2014, 08:15
файлы всегда приходят с именем PZ*****.11
доставать файлы и переименовать не могу - так у меня сперва достануться все тхт файлы и перезапишут друг друга.
может стоит их извлекать в папку с именем архива ?

sov44
16-07-2014, 12:31
umagonj, не оригинально конечно, но вроде работает
@echo off
SetLocal enabledelayedexpansion

set in=c:\1\led\1
set out=c:\1\led\2

for /f "delims=" %%a in ('dir /b /s /a-d "%in%\*.11" 2^>nul') do (
if not exist "%out%" md "%out%"
>nul Arj.exe x "%%a" -ht"%%~na" -y
for %%b in ("%%~na\*") do >nul move "%%b" "%out%\%%~na.txt"
rd /s /q "%%~na"
echo del /f /q "%%a"

)
pause
Для удаления после обработки архива, убрать echo

umagonj
16-07-2014, 14:03
sov44, благодарю, работает как часы!




© OSzone.net 2001-2012