这是我不明白的问题
我正在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终端中运行命令时得到的。 事先提前