ici est la question que je ne comprends pasDifférence de sortie wmic en cmd et batch ..why?
j'exécuter la commande suivante dans cmd (win7):
>wmic netuse where "LocalName="Z:"" get UserName /value
La sortie est merveilleux comme suit:
UserName=ASI\kote
(il y a 2-3 lignes vides en haut et en bas de cette sortie de commande qui ne peut pas être affichée en format tapé ici)
Maintenant, je veux exécuter cette commande dans un script batch et obtenir sa sortie. Donc, voici mon code simple lot pour le même:
@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
Voici la sortie du lot que je reçois:
X:,Y:,Z:
wmic netuse where "LocalName="Z:"" get UserName /value
,,""
,,""
,,""Name=ASI\kote
,,""
,,""
,,""
end
La sortie des opérations par lot utilisateur est disparu et var réelle sort de « » . Je crois qu'il devrait venir à l'intérieur des guillemets Je dois comprendre la même chose. En outre, j'ai besoin de conseils pour obtenir la sortie wmic cmd 'correcte' dans le script batch - ce qui est ce que je reçois quand j'exécute la commande dans le terminal cmd. Thnks à l'avance
PS: Ces disques sont mis en correspondance des lecteurs de un endroit éloigné sur mon PC – Abhi
je préfère utiliser ce type de structure 'In ('" WMIC NETUSE Où (LocalName = 'currDrive') Obtenez UserName/valeur! "') Do'. – Compo