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

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

ElvisPresley 03-06-2009 12:48 1133846

Выполние команды DIR в файлик (список до указанной буквы алфавита)
 
Всем доброго времени суток!

Прошу помощи в написании скрипта (cmd или vbs) по выводу содержимого каталога D:\work\ (в нем папки с английскими именами фамилий сотрудников) в файлик D:\MyDir.txt со следующими условиями:
1) файлик D:\MyDir.txt должен быть записан полный путь (D:\work\Ivanov D:\work\Sidorov и тд) с новой строки
2) Список перечисленных папок должен заканчиваться какой-либо буквой англиского алфавита и задаваться параметром, т.е. выведены полные пути от буквы A до буквы (например) L (включительно) - D:\work\Makarov в список уже не должно попасть.

В конечном итоге в файле должно быть примерно следующее:
D:\work\Alekseev
D:\work\Borisov
D:\work\Durov
D:\work\Leonov

Этот файл мне нужен для передачи его в RAR в качестве тех папок, которые необходимо заархивировать. Дело в том, что обновление архива с 50% сжатием "весом" 30Гб занимает 4 часа - а это долго. А если я списком разнесу по двум-трем серверам, то параллельно это будет выполнено быстро.
Можно конечно вручную его создать, но содержимое каталога D:\work\ меняется и в один прекрасный момент мона чьи-нибудь данные не заархивировать.

Если есть иной способ решения этой задачи - поделитесь, пожалуйста.

Petya V4sechkin 03-06-2009 13:42 1133893

Код:

@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

Set SrcDir=D:\work
Set OutFile=D:\MyDir.txt

Set FirstChar=A
Set LastChar=L

Del /F /Q %OutFile% 2>nul
For /F "Delims=" %%I In ('Dir /AD /B %SrcDir%') Do (
  Set C=%%I
  Set C=!C:~0,1!
  If /I !C! Geq %FirstChar% If /I !C! Leq %LastChar% (
    Echo %SrcDir%\%%I>>%OutFile%
  )
)


ElvisPresley 03-06-2009 15:10 1133968

Petya V4sechkin, БОЛЬШОЕ СПАСИБО!

Тему можно закрыть!


Время: 10:54.

Время: 10:54.
© OSzone.net 2001-