首先附上遍历所有磁盘的代码:
@echo off
mkdir .\%computername%
for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (
if exist %%i:\ (
echo Traversing disk %%i, Please wait...
tree /f %%i:\>.\%computername%\%%i.txt
)
)
echo.
echo complete, press anykey to exit...
pause>nul
rem bat文件一般可读性都有点差,但是又不难理解,我就不在其中加注释了。
运行该程序后,所在文件夹下会建立一个以计算机名命名的文件夹,并且在其中会保存你所有磁盘的目录结构(耗时可能稍长)。
至于作用,见仁见智,我就不举例了(隐藏文件不会显示)。
另一种实用的方式是
@echo off
tree /f %1>%1.txt
pause
只要将文件夹拖入这个bat程序,文件夹所在的目录下就会生成一个与文件夹同名的txt文本来保存目录树。直接运行文件则会在当前目录下建立”.txt”文件,得到当前目录的目录树。这样如果要向别人展示文件目录结构时,也就用不着截图了。
但是上述方式都是遍历到底层的,如果说有一个文件夹,我需要得到它下面的文件和目录名称,但是不需要其子文件夹下的文件和目录呢?
@echo off>%1.txt
for /f "delims=" %%a in ('dir %1 /b') do (
echo %~1\%%a>>%1.txt
)
pause
同样是拖入目录和直接运行都可以。
代码都比较简单,但是实用性还是很强的。