标题: [文本处理] 批处理怎样获取文本中defrag命令得到的磁盘空间? [打印本页]
作者: shuaige100 时间: 2010-7-8 13:24 标题: 批处理怎样获取文本中defrag命令得到的磁盘空间?
- Windows 磁盘碎片整理程序
- 版权所有 (c) 2001 Microsoft Corp. and Executive Software International Inc.
-
- 分析报告
- 总共 6.91 GB,6.16 GB (89%)可用,13% 零碎(26% 文件碎片)
-
- 您应该对该卷进行碎片整理。
复制代码
以上代码是这个命令产生的defrag -a g:并取下面两个并显示成两行,有太多空格了我不知道怎么取呵呵:
6.91gb
6.16gb
[ 本帖最后由 shuaige100 于 2010-7-8 13:34 编辑 ]
作者: canyuexiaolang 时间: 2010-7-8 13:24
- @echo off
- for /f "skip=2 tokens=1,2,3,4" %%a in ('find "总共" Result.txt') do (
- for /f "delims=, tokens=1,*" %%i in ("%%b %%c %%d") do (
- echo %%i&echo %%j
- )
- )
- pause>nul
复制代码
==============================================
楼主,说实话,这个我是拿来练手的。。对for开始有更加深入的了解...
改了7.8次,总算受到楼上的启发,写了个嵌套FOR循环。。
谢谢楼上的哈、、继续期待更加高效率的代码
[ 本帖最后由 canyuexiaolang 于 2010-7-8 17:41 编辑 ]
作者: caruko 时间: 2010-7-8 13:27
for /f %%a in ('findstr "总共" a.txt') do echo;%%b&echo;%%c
作者: shuaige100 时间: 2010-7-8 14:02
原帖由 caruko 于 2010-7-8 13:27 发表
for /f %%a in ('findstr "总共" a.txt') do echo;%%b&echo;%%c
你的命令有问题,能显示a变量,其它的不能
作者: shuaige100 时间: 2010-7-8 17:56
不好意思都是我的错没好好研究
答案是这个
- @echo off
- for /f "skip=4 tokens=1-6 delims=共,(,( eol=不" %%b in ('defrag -a I:') do (echo 总%%c
- echo %%d)|msg %username% /time:5
复制代码
作者: canyuexiaolang 时间: 2010-7-8 18:02
@echo off
for /f "skip=4 tokens=1-6 delims=共,(,( eol=不" %%b in ('defrag -a I:') do (echo 总%%c
echo %%d)|msg %username% /time:5
这个代码好复杂...我还得学啊...唉...
作者: x9tiancmd 时间: 2010-7-8 22:01 标题: 这是我电脑上用的磁盘碎片整理.
- @echo off
- for /f "skip=4" %%i in ('mountvol ^|find ":"') do defrag -a %%i |find "不需要" >nul 2>nul||echo.正在对%%i进行碎片整理,请耐心等待(也许时间N长)..&&defrag -f %%i
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |