Récupération d'info servant de variable ( dos)
barnabe0057 Messages postés 17074 Statut Contributeur -
Bonjour,
je voudrais récupérer le nom d'un utilisateur dans une variable qui sera la même dans un bat.
je pense que ça devrait être possible mais je ne vois pas comment faire... ( mon niveau de programmation est très bas, voir inexistant )
ça devrait donner un truc du genre...
@echo off
echo Entrer le nom de l'utilisateur :
set /p Utilisateur=
echo %USERNAME%
MD "\\PC-SALON\test$\%USERNAME%\test"
iCACLS "\\PC-SALON\test$\%USERNAME%\scan" /deny %USERNAME%:(DE)
le bat me demande bien le nom d’utilisateur mais rien
Si quelqu'un a la solution :)
Merci d'avance
Windows / Firefox 102.0
- Récupération d'info servant de variable ( dos)
- Crystal disk info - Télécharger - Informations & Diagnostic
- Info pc - Guide
- Wifi info view - Télécharger - Divers Réseau & Wi-Fi
- Convertisseur récupération de texte - Guide
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
2 réponses
Bonjour,
sur la forme, ta ligne echo est redondante, écrire:
set /p Utilisateur=Entrer le nom de l'utilisateur:
Sur le fond, la variable système %USERNAME% retourne le nom utilisateur de la machine à partir de laquelle le script est lancé alors que tu définis une variable personnalisée Utilisateur qui est celui du poste cible.
Tu dois donc remplacer dans ce qui suit %USERNAME% par %Utilisateur%
Par contre, dans le contexte, il n'y a pas de raison que l'action soit rien: il y aura probablement création d'un dossier sur la machine, mais pas celui que tu veux.
Il faut également envisager l'hypothèse où ce dossier existe déjà, la première ligne devant alors être:
IF NOT EXIST (chemin) MD (Chemin)
Enfin, après avoir rappelé que ICACLS doit être exécuté à partir d'un compte administrateur ou en avoir pris possession, à tester, je ne suis pas certain de l'interprétation du caractère $ dans un batch, si ça ne fonctionne pas malgré la correction précédente, il faudra tester sur un autre dossier pour verrouiller cette hypothèse, et utiliser un caractère d'échappement si la conclusion est bien que $ est l'objet du délit.
Les tests éventuels doivent être menés en commentant echo off (REM @echo off) et en introduisant une ligne pause après chaque instruction pour localiser les erreurs éventuelles.