Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Присвоение имени файла имя архива. (http://forum.oszone.net/showthread.php?t=285115)

umagonj 15-07-2014 17:57 2376873

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

Iska 15-07-2014 18:50 2376893

Тип архива какой? Образцы конкретных имён архивов приведите.

umagonj 16-07-2014 07:33 2377109

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

umagonj 16-07-2014 08:15 2377118

файлы всегда приходят с именем PZ*****.11
доставать файлы и переименовать не могу - так у меня сперва достануться все тхт файлы и перезапишут друг друга.
может стоит их извлекать в папку с именем архива ?

sov44 16-07-2014 12:31 2377200

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 2377225

sov44, благодарю, работает как часы!


Время: 17:42.

Время: 17:42.
© OSzone.net 2001-