PDA

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


Anufriev
05-12-2014, 07:29
Добрый день!

подскажите, пожалуйста, как реализовать данную задачу:

в папке C:\terr\GGGGMMDD лежит куча файлов, из них нужны два файла *IP.JPG и *PO.DBF

по этим файлам необходимо выводить инофрмативный iesDDMMGGGG.txt файл в каталог C:\terr\sa\

Тра-ла-ла "Кукушкино" (ОАО) "Новосибирский"
DD.MM.GGGG
HH:MM
10894644 - вес двух файлов
*IP.JPG
*PO.DBF
Файлы успешно приняты

Буду весьма благодарен помощи

Anufriev
05-12-2014, 12:11
товарищи, я конечно написал батник который работает, но по моему он очень корявый:)
покажите, пожалуйста, как его привести в порядок, я правда учусь писать:) надо ещё учиться красиво писать...

Echo off

set "txt=C:\terr\sa\ies%date:~6,4%%date:~3,2%%date:~0,2%.txt"
set "d=%date:~0,2%.%date:~3,2%.%date:~6,4%"
set "t=%Time:~0,2%:%Time:~3,2%"
set "In=C:\terr\"

rem узнаем размер JPG файла
for /f "delims=" %%a in ('dir /b/a-d "%In%*IP.JPG" 2^>nul') do set "a=%%~za"

rem узнаем размер DBF файла
for /f "delims=" %%b in ('dir /b/a-d "%In%*PO.DBF" 2^>nul') do set "b=%%~zb"

rem высчитываем общий размер файлов
set /A Bytes=%a%+%b%

rem определяем начало имени файлов JPG и DBF
for /f "tokens=1 delims=PO." %%i in ('dir /B /d "%In%*PO.DBF"') do set "i=%%i"

rem выводим нужную информацию в txt файл
echo Тра-ла-ла "Кукушкино" (ОАО) "Новосибирский" >> "%txt%"
echo %d% >> "%txt%"
echo %t% >> "%txt%"
echo %Bytes% >> "%txt%"
echo %i%IP.JPG >> "%txt%"
echo %i%PO.DBF >> "%txt%"
echo Файлы успешно приняты >> "%txt%""

megaloman
05-12-2014, 13:11
Не блеск но работает. Возможно, вид текста не устроит. Если принципиально, переделаю.@Echo Off

Set "File1=1b347ND_1700469.fls"
Set "File2=2HPFWUP840.iso"

Set "Out=ies%Date:~0,2%%Date:~3,2%%Date:~6,4%.txt"

Echo Тра-ла-ла "Кукушкино" (ОАО) "Новосибирский">>"%Out%"
Echo %Date:~0,2%.%Date:~3,2%.%Date:~6,4%>>"%Out%"

Set T=%Time: =0%
Echo %T:~0,5%>>"%Out%"

SetLocal EnableExtensions EnableDelayedExpansion

Set "Sum=0 файлов 0 байт"
Set "Last="

If Exist "%File1%" If Exist "%File2%" Call :Summa &Echo %File1%>>"%Out%"&Echo %File2%>>"%Out%"&Echo Файлы успешно приняты>>"%Out%" &GoTo :Eof
If Exist "%File1%" Call :Summa &Echo %File1%>>"%Out%"&Echo Файлы успешно приняты>>"%Out%"&GoTo :Eof
If Exist "%File2%" Call :Summa &Echo %File2%>>"%Out%"&Echo Файлы успешно приняты>>"%Out%"&GoTo :Eof

Echo Вес %Sum%>>"%Out%"
Echo Файлы неуспешно приняты>>"%Out%"

GoTo :Eof

:Summa

FOR /F "usebackq tokens=*" %%i in (`dir "%File1%" "%File2%" 2^>nul`) do Set Sum=!Last!&Set Last=%%i
Echo Вес %Sum%>>"%Out%"

GoTo :Eof

Anufriev
05-12-2014, 19:28
Благодарю, сравнил батники Ваш и мой, понял, что у меня не все так плачевно, как я думал, но черпать мне ещё много нужно у таких людей как Вы:)




© OSzone.net 2001-2012