簡體   English   中英

如何在批處理文件中讀取Windows命令行的某些行?

[英]How can I read some lines of windows command line in a batch file?

假設我使用dir commend,它返回:

02/23/2014  03:03 PM    <DIR>          ManageEngine
09/28/2013  02:09 PM    <DIR>          opt
04/30/2014  09:30 AM    <DIR>          Oracle
09/29/2014  12:53 PM    <DIR>          Program Files
09/15/2014  12:59 PM    <DIR>          Program Files (x86)
09/30/2014  01:10 PM    <DIR>          ProgramData
08/10/2014  03:06 PM    <DIR>          Virtual Machines
05/05/2013  12:19 PM    <DIR>          wis
               0 File(s)              0 bytes
               8 Dir(s)  35,379,425,280 bytes free

現在,我想從上一個命令行結果( dir )中讀取第二行,並在當前命令行中使用它。

例:

del opt

我如何閱讀第二行?

for 請參閱“ FOR”如何在cmd批處理文件中工作? 但是,你不應該被解析的輸出dir ,你可以使用,再次for遍歷目錄:

僅目錄

如果set包含通配符(*和?),則對與set相匹配的每個目錄(而不是指定目錄中的一組文件)執行指定的命令。 語法為:

 for /D {%% | %}variable in (set) do command [CommandLineOptions] 

我不會顯示如何獲得集合中的第二個項目,因為那是a)瑣碎的和b)錯誤的。 集合排名是隨機的,缺少順序。

@echo off

rem use skip=n-1 where n is the line you want
for /f "skip=1 delims=" %%# in ('dir') do (
    echo %%#
    rem delete echo to activate deletion
    echo rd /s /q "%%#"
    goto :break_for
)
:break_for

如果要過濾包含opt的行

@echo off


for /f "delims=" %%# in ('dir^|find /i "opt"') do (
    echo %%#
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM