NibelungXXX |
28-06-2013 21:39 2176115 |
Батник нумерация
Помогите, нужен батник со следующим действием(если знаете как реализовать какойто кусочек распишите как):
1. есть папка D\bost в ней хранятся от 1 до 9 rar и zip архивов.
2. нужно чтобы батник писал txt файл с именем папки в котором он лежит. Пример если txt создается в папку D\bost то он должен иметь название bots.txt
3. Внутри txt файла должно быть следующее:
первая строчка: Название файла txt
вторая строчка: количество rar и zip архивов в папке D\bost (Например 3)
Третья строчка: (1) - (Имя файла Rrar или zip) - (обьем файла в KB)
четвертая строчка: (2) - (Имя файла Rrar или zip) - (обьем файла в KB)
Пятая строчка: (3) - Имя файла Rrar или zip - (обьем файла в KB)
Шестая строчка: (дата следующего дня)
нумерация строчек третей, четвертой, пятой по количеству файлов в папке обязательно - в нашем примере обозначены как (1,2,3)
|
Нет такой папки. Может быть «d :\bost»?
Цитата:
Цитата NibelungXXX
если txt создается в папку D\bost то он должен иметь название bots.txt »
|
Не должен. Должен — «bo st.txt». У Вас какая-то извращённая логика, коллега.
Цель глобальная какова? Меня терзают смутные сомнения, что Вы хотите, чтобы Вам сделали домашнее задание.
|
NibelungXXX |
29-06-2013 08:23 2176249 |
Цитата:
Цитата Iska
Нет такой папки. Может быть «d:\bost»? »
|
да такой путь
Цитата:
Цитата Iska
Не должен. Должен — «bost.txt» »
|
именно, писал ночью и апечатался
Цитата:
Цитата Iska
Цель глобальная какова? »
|
цель, упростить себе работу и не делать все время это в ручную
|
NibelungXXX
Код:
@echo off
for %%i in ("%cd%") do set "name=%%~nxi"
for %%i in (*.rar *.zip) do set /a count+=1
(echo %name%&echo %count%)>"%name%.txt"
set "count="
for %%i in (*.rar *.zip) do (
set /a count+=1
set /a size=%%~zi/1024
>>"%name%.txt" call echo %%count%% - %%i - %%size%% KB
)
set /a nextday=%date:~0,2%+1
>>"%name%.txt" echo %nextday%%date:~2%
Подпапки не обрабатывает (а надо ли?). Размер файлов >2ГБ выведет неправильно (хотя вместо /1024 можно отрезать 3 символа). Дата, конечно, не айс, вместо 1 августа будет 32 июля.
|
NibelungXXX |
29-06-2013 15:16 2176360 |
Sphinx114, Спасибо большое, много что мне надо получилось
Цитата:
Цитата Sphinx114
Дата, конечно, не айс, вместо 1 августа будет 32 июля. »
|
нашел как с датой побороться:
Код:
:FromNow
SetLocal
Set yyyy=%DATE:~-4%& set /a mm=100%DATE:~3,2%%%100& set /a dd=100%DATE:~,2%%%100+1
Set /A JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
Set /A L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
Set /A L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
Set /A J=J+2-12*L,I=100*(N-49)+I+L
Set /A yyyy=I,mm=100+J,dd=100+K
EndLocal& Set ddmmyyyy=%dd:~-2%.%mm:~-2%.%yyyy%
>>"%name%p.txt" echo %ddmmyyyy%
Exit /B
|
Цитата:
Цитата NibelungXXX
цель, упростить себе работу и не делать все время это в ручную »
|
Это не цель. Это задача. Цель Вы так и не назвали — для чего это нужно.
|
NibelungXXX |
30-06-2013 19:47 2176960 |
Цитата:
Цитата Iska
Это не цель. Это задача. Цель Вы так и не назвали — для чего это нужно. »
|
целий много, обучиться писать батники, облегчить себе работу. На примерах легче всего учиться да и полезный результат на выходе), + и раскрутка сайта на конкретных примерах, сам гуглю выпадают уже и эти темы которые создал
|
Время: 20:57.
© OSzone.net 2001-