我試圖列出用加號分隔的行內磁區。下面的代碼為我實作了這一點,但在最后是最后一個加號。有沒有可能去掉它(最后一個加號)并把它保存到變數中,以便我以后在腳本中使用?
@echo off
for /f "tokens=2 delims==" %%d in ('wmic logicaldisk get name /format:value') do @echo | set /p drives=%%d
uj5u.com熱心網友回復:
最簡單的想法是使用一個變數,在你開始之前確保它沒有被定義,然后只在每個驅動器的字母前加上 字符,如果該變數已經被定義。
例子:
@Echo Off
SetLocal EnableExtensions DisableDelayedExpansion
設定"DriveList="。
For /F Tokens^=2^ Delims^=^" %%G In ( '%SystemRoot%System32wbemWMIC.exe
LogicalDisk Assoc /ResultRole:DeviceID 2^>NUL') Do If Defined DriveList (
SetLocal EnableDelayedExpansion & For %%H In ("! DriveList!" ) Do EndLocal ^
& 設定"DriveList=%%~H %%G") Else 設定"DriveList=%%G"
Echo(%DriveList%)
暫停
看起來你可能希望使用Set /P而不是Echo(,盡管為什么你會想要一個像C: D: E: G:的字串是另一回事!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/315742.html
標籤:
