這裏是我不明白wmic輸出差異cmd和批次..爲什麼?
我在cmd中執行以下命令的問題(WIN7):
>wmic netuse where "LocalName="Z:"" get UserName /value
輸出是美好如下:
UserName=ASI\kote
(有在這個命令輸出的頂部和底部有2-3條空白行,這裏不能以類型格式顯示)
現在,我想運行這個命令在批處理腳本並獲取其輸出。因此,這裏是我的一樣簡單的批處理代碼:
@setlocal EnableDelayedExpansion
@echo off
for /f "tokens=1,2,3,4,5,6,7,8 delims=," %%a in ("X:,Y:,Z:") do (
echo %%a,%%b,%%c
set currDrive=%%c
echo wmic netuse where "LocalName="!currDrive!"" get UserName /value
for /f "tokens=1,2,3,4,5,6,7,8 delims=*" %%a in ('wmic netuse where "LocalName="!currDrive!"" get UserName ^/value') do (
echo %%a,%%b,"%%c"
if "%%a"=="UserName" (
set mappedDriveUser=%%c
echo ===="mappedDriveUser!"
echo org"%%c"
rem set mappedDriveUser=!mappedDriveUser:^ =!
rem echo ====!mappedDriveUser!
rem echo Drive !currDrive! is connected through user !mappedDriveUser!
) else (
rem donothing
)
)
)
echo end
這裏是批量輸出我得到:
X:,Y:,Z:
wmic netuse where "LocalName="Z:"" get UserName /value
,,""
,,""
,,""Name=ASI\kote
,,""
,,""
,,""
end
批處理輸出的變化,用戶消失了,實際VAR是走出來的「」 。我相信它應該進入雙引號 我需要了解相同。 此外,我需要提示,以批處理腳本獲取'正確的'wmic cmd輸出 - 這是我在cmd終端中運行命令時所得到的結果。 Thnks預先
PS:這些驅動器在我的電腦 – Abhi
上映射的一些位置偏遠的驅動我更喜歡使用這種類型的結構'在('「WMIC NetUse凡(的localName =‘currDrive’)獲取用戶名/值! 「')做'。 – Compo