2015-06-04 4 views
1

У меня есть сценарий, который печатает все содержимое в сети в локальные текстовые файлы. Мне нужно настроить этот скрипт так, чтобы каждый выходной файл имел максимум 10 мб.Наличие пакетного сценария для печати содержимого сети в небольших файлах

Пока сценарий выглядит следующим образом:

::@ECHO OFF 
echo %date% %time% Starting %~dp0 

set year=%date:~-4% 
set month=%date:~3,2% 
set day=%date:~0,2% 
set hour=%time:~0,2% 
set minute=%time:~3,2% 
set second=%time:~6,2% 
set folderName=%year%-%month%-%day%-%hour%-%minute%-%second% 
set folderName=%folderName: =% 
SET logger="%~dp0"\%folderName%.log 

::Loop igjennom alle folders på nettverket, alfabetisk. Print ut innholdet i hver mappe, med full path. 

set "list=N:\ O:\ P:\ R:\ V:\ Y:\ Z:\" 
FOR %%i IN (%list%) DO (
    SET project=%%i & call :project 
) 

:project 
echo Printing from %project% >> %logger% 
set year=%date:~-4% 
set month=%date:~3,2% 
set day=%date:~0,2% 
set hour=%time:~0,2% 
set minute=%time:~3,2% 
set second=%time:~6,2% 
set folderName=%year%-%month%-%day%-%hour%-%minute%-%second% 
set folderName=%folderName: =% 
SET logger="%~dp0"\%folderName%.log 
dir /b /a-d /s %project% > %logger% 

Лучше всего было бы, вероятно, будет делать проверку размера файла до каждой папки печати, как это:

:folder 
echo Printing from %folder% >> %logger% 
if (LogfileSize > 10mb) then Logfile=new Logfile. 
Print folder to Logfile. 

Я просто не» Знать, как писать это в партии. Как настроить файл сценария для запуска: папка до печати любой папки?

+0

, что вы имеете в виду с печатью? Печать на консоль или отправка на принтер? – npocmaka

+0

"печатает все содержимое в сети в локальные текстовые файлы" –

ответ

0

Вы можете скачать размер файла for. Но цифры могут быть больше, чем cmd, могут использовать их как числа, поэтому вместо этого вам нужно использовать сравнение строк.

for %%i in (%logger%) do set "size=0000000000%%~zi" 
set size=%size:~-10% 
if %size% gtr 0010485760 echo more than 10MB 

Очевидно, что вы должны сравнить с числом менее 10 МБ, если вы хотите добавить что-то еще остаться ниже 10Мб (насколько меньше зависит от ваших данных)

Смежные вопросы