Консультация № 143677
11.09.2008, 20:55
0.00 руб.
0 16 1
Здрасти, в приложении есть код, это .bat файл он создает 10 папок и в этих папок создается еще по 20, Нужно сделать чтобы в этих 20 папках создавалось еще по 20 текстовых файлов, помогите доделать плиз...

Приложение:
set x=0
set z=0
:start
set /a x=x+1
set y=%random%
md %y%
:star
set /a z=z+1
set t=%random%
md %y%\%t%
if %z% LSS 20 (
goto star )
) else (
goto cont
:cont
if %x% LSS 10 (
goto start )
) else (
goto end
:end


Обсуждение

давно
Модератор
137394
1850
11.09.2008, 21:29
общий
а что в текстовых файлах?
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
11.09.2008, 21:50
общий
ничего пусто
давно
Модератор
137394
1850
11.09.2008, 22:12
общий
это ответ
Здравствуйте, DonaldM! - посмотрите еще к ответу мою реплику на форуме, в Вашем коде нашёл ошибку.
В приложении ваш батник с моей вставкой. Как сделать совсем пустой файл сходу не сообразил, записываю в файл точку.
Можно в файл записать, например, дату и время создания файла
Для этого удалите rem из строки, получится
echo File created at %Date% %time% >%y%\%t%\%filename%
а строку
echo . >%y%\%t%\%filename%
Удалите вовсе

Приложение:
set x=0

:start
set /a x=x+1
set y=%random%
md %y%
set z=0
:star
set /a z=z+1
set t=%random%
md %y%\%t%

set nfiles=0
:startfiles
set /a nfiles=nfiles+1
set filename=%random%.txt

rem echo File created at %Date% %time% >%y%\%t%\%filename%
echo. >%y%\%t%\%filename%

if %nfiles% LSS 20 (
goto startfiles )

if %z% LSS 20 (
goto star )
) else (
goto cont
:cont
if %x% LSS 10 (
goto start )
) else (
goto end
:end
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
11.09.2008, 22:16
общий
to ualife

Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
11.09.2008, 22:20
общий
2 megaloman: почему смеетесь?
Неизвестный
11.09.2008, 22:24
общий
2 megaloman: а если писать так echo. (без пробела между точкой и echo), то файл будет "чистым" с точки зрения cmd.exe
давно
Модератор
137394
1850
11.09.2008, 22:28
общий
я Вам написал в личку. А пустой не будет - 3 байта. Редактором можно нечто поубивать до 0. Нет временти разобраться что там.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
11.09.2008, 22:30
общий
а как мне бы сделать тоде батник, только с переменной %random% тоже чтобы генерировались числа и потом когда например я прикращу генерацию создался текстовый файл и там был отчет сколько папок создалось и в какое время, что типа этого, помогите пожалуйста
Неизвестный
11.09.2008, 22:34
общий
Заведите отдельную переменную для подсчета кол-ва созданных каталогов (папок). После выводите в файл так: echo %переменная% > Ваш_файл.txt
давно
Модератор
137394
1850
11.09.2008, 22:38
общий
Вроде бы писал, что у Вас ошибка, повторяю батник еще раз.

set x=0

:start
set /a x=x+1
set y=%random%
md %y%
set z=0
:star
set /a z=z+1
set t=%random%
md %y%\%t%

set nfiles=0
:startfiles
set /a nfiles=nfiles+1
set filename=%random%.txt

rem echo File created at %Date% %time% >%y%\%t%\%filename%
echo. >%y%\%t%\%filename%

if %nfiles% LSS 20 (
goto startfiles )

if %z% LSS 20 (
goto star )
) else (
goto cont
:cont
if %x% LSS 10 (
goto start )
) else (
goto end
:end
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
11.09.2008, 22:43
общий
:start
md %random%
echo %random% > 1.txt
goto start


Вот я так сделал, мне создался текстовый файл и там цифры 180080 типа такого, это что?
Неизвестный
11.09.2008, 23:11
общий
ну помогите
давно
Модератор
137394
1850
11.09.2008, 23:16
общий
я прикращу генерацию - каким образом?
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
11.09.2008, 23:21
общий
ну просто закрою окно командной строки
давно
Модератор
137394
1850
11.09.2008, 23:58
общий
Таким способом я убился удалять созданные папки. Поэтому сделал батник с паузой для принятия решения.
Сообщения пишу на английском чтобы не создавать проблем с чтением файла в дос-кодировке.
Имя файла придумал 1.log, вы можете придумать что угодно, например, 1. тхт.


set nDir=0
set nameLog=1.log

echo Begin Creating Directorys at %Date% %time% >%nameLog%
echo ----------------------------------------------------- >>%nameLog%
:start

set nameDir=%random%
md %nameDir%
set /a nDir=nDir+1

echo %nDir% Directory %nameDir% created at %Date% %time% >>%nameLog%

pause Создано %nDir% папок. Продолжения создание папок - Enter, прервать - Ctrl/Break

goto start
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
12.09.2008, 00:11
общий
спасибо огромное
Форма ответа