首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示分段格式输出的批处理文件

显示分段格式输出的批处理文件
EN

Stack Overflow用户
提问于 2014-10-24 19:13:39
回答 1查看 49关注 0票数 0

defrag C: /A /V > %Temp%\defrag.txt FOR /F "delims=" %%a in ('findstr /C:"Total fragmented space" "%Temp%\defrag.txt" ') do SET "fragmentation=%%a" ECHO %fragmentation%

这段代码运行良好,但与文件中的空格相呼应。这是输出:

--------------------------------------------------------------------- Total C Fragmentation: Total fragmented space = 3%

有办法摆脱这些多余的空间吗?我一直试着更加精确地搜索该搜索的内容,方法是一直往上加,直到标记为止,但没有任何运气。

感谢大家的帮助和感谢您的时间!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-24 19:39:19

可以使用空格作为分隔符,并检索分隔元素。

代码语言:javascript
复制
FOR /F "tokens=1-8" %%a in (
    'findstr /C:"Total fragmented space" "%Temp%\defrag.txt" '
) do SET "fragmentation=%%a %%b %%c %%d %%e %%f %%g %%h"

或者您可以直接使用等号作为分隔符,获取值,然后输出所需的内容。

代码语言:javascript
复制
FOR /F "tokens=2 delims==" %%a in (
    'findstr /C:"Total fragmented space" "%Temp%\defrag.txt" '
) do SET "fragmentation=%%a"
echo Total C Fragmentation: Total fragmented space =%fragmentation%

在这两种情况中的任何一种情况下,都可以避免临时文件,因为for命令可以运行命令并检索其输出。

代码语言:javascript
复制
FOR /F "tokens=2 delims==" %%a in (
    'defrag C: /A /V ^| findstr /C:"Total fragmented space" '
) do SET "fragmentation=%%a"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26554730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档