正好有个需求,导出服务器上某些文件目录的情况,研究了下Batch。
一共分为2个脚本, dirpath.bat->foldersize.bat
dirpath.bat用来找出指定的包含特定字符的文件目录所在路径。
代码如下:
dir /ad /b /s %1|findstr "C-">> y.txt for /f "tokens=*" %%i in (y.txt) do foldersize %%i
foldersize.bat用来统计由dirpath.bat中获得到的目录情况。 代码如下:
@echo off IF [%1]==[] GOTO USAGE if NOT exist "%1" (ECHO "%1" path not exist & GOTO END) : DIR_PATH dir /ad /b %1 > 1.txt setlocal enabledelayedexpansion dir /s "%1" |findstr 个文件 > 2.txt || echo. > 2.txt for /f "eol=0 tokens=1,3 " %%j in (2.txt) do set ll=%%k & set ll=!ll:~0,-9! M %1 %%j 个文件 echo !ll! >> result.txt set total= Endlocal del 1.txt 2.txt y.txt GOTO END :USAGE echo Usage: %0 dir_path GOTO END :END rem pause