J'essaie d'obtenir mon nom d'utilisateur actuel par registre en utilisant la ligne de commande. Mais mon nom d'utilisateur a deux mots entre un espace. Ex. : "Chat Chien". Eh bien, si j'utilise un espace comme délimiteur, il n'imprime que 'Cat', si je le mets tokens=3imprime également la même chose car il y a un espace entre ces deux mots.
Je le fais pour l'utiliser sur de nombreux ordinateurs, donc je ne peux pas déterminer le nom d'utilisateur exact de chacun. Comment puis-je délimiter le premier mot du numéro de jeton 3jusqu'à la fin, peu importe le nombre d'espaces dont il dispose?
@echo off
for /f "tokens=3" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData\1 /v LoggedOnUser') do (
set "user=%%a")
set "user=%user:.\=%"
echo %user%
pause
Solution du problème
Y a-t-il une raison pour laquelle vous ne pouvez pas utiliser la commande whoami ? Par example:
for /f "tokens=*" %%g in ('whoami') do set "user=%%g"
Aucun commentaire:
Enregistrer un commentaire