批处理程序在文件及文件夹管理中的应用实例(2)

2019-02-19  本文已影响0人  姜茶无糖

计算当前目录及子目录所占硬盘空间

@echo off

echo.

echo 正在统计目录所占变量......

echo ....................................

for /f "tokens=*" %%a in ('dir') do (

echo "%%a" | find "个文件" >nul && for /f "tokens=3*" %%b in ("%%a") do (

rem tokens=3* 表示第三列,为所占磁盘空间的大小

echo 当前目录大小: %%b%%c

)

)

echo ....................................

echo 子目录所占空间大小分别如下

for /f %%a in ('dir/ad/s/b') do (

rem dir/ad/s/b 将所有的列表都显示出来

for /f "tokens=*" %%b in ('"dir %%a\"') do (

echo "%%b"|find "个文件" > nul && for /f "tokens=3*" %%c in ("%%b") do (

echo %%a : %%c%%d

)

)

)

代码及演示

自动删除当前目录及子目录中所有空文件夹

@echo off

echo.

echo 正在删除当前目录及子目录中所有的空文件夹,请稍后.....

echo .....................................................

cd.>listnull.txt

for /f "delims=" %%i in ('dir/ad/b/s') do (

rem delims=表示不使用分隔符

dir /b "%%i" | findstr .>nul || echo %%i >> listnull.txt

)

set /a sum=0

for /f %%i in (listnull.txt) do (

echo 成功删除空目录:%%i

rd /q %%i

set /a sum=sum+1

)

echo .....................................................

echo 共成功删除%cd%目录及子目录下%sum%个空文件夹!

echo.

set sum=

del /q listnull.txt >nul

代码及演示

自动替换指定文本文件中的指定字符串

@echo off

echo.

setlocal enabledelayedexpansion

rem 使用批处理的延时拓展功能

cd. >file_net.txt

echo 正在替换文件中的字符串,请稍后..........

echo.

for /f %%a in (file.txt) do (

set str = %%a

set str =!str:其它=其他!

echo !str! >> file_new.txt

)

ren file.txt file_old.txt

ren file_new.txt file.txt

echo 成功替换文件中指定的字符串file_old.txt文件为未修改前的file.txt文件!

set str=

del /q file_net.txt >nul

代码及演示
上一篇下一篇

猜你喜欢

热点阅读