selection d'une partie de chaine de caractère [Batch] - Shell/Batch - Programmation
Marsh Posté le 25-06-2014 à 07:12:33
Voici un petit programme batch qui découpe une chaine en fonction des antislashs (barre oblique inversée) :
set IMP="\\SRV1\nom_imprimante" |
Comme il n'y a rien entre les deux premiers antislashs, la première variable est vide.
La seconde affiche le nom du serveur.
La troisième, le nom de l'imprimante.
Marsh Posté le 25-06-2014 à 07:52:42
Merci pour la réponse, j'ai finalement trouver une autre solution en ne sortant que le nom de l'imprimante sur le fichier texte avec ce code.
Citation : @echo off |
Marsh Posté le 24-06-2014 à 11:30:32
Bonjour,
Je voudrais sortir un fichier txt qui contient le nom de l'imprimante par défaut de l'utilisateur. J'y suis donc arriver mais le problème que je n'arrive pas à résoudre est que j'aimerais changer une partie de la chaîne de caractère avant que le fichier txt soit créé pour être utilisé sur un script de démarrage de session (que j'ai également)pour utiliser le fichier pour changer l'imprimante par défaut sur un parc informatique (j'ai penser le faire avec l'AD mais les imprimantes ne dépendent pas des groupes d'utilisateurs.
Je m'explique:
@echo off
Rem récupère la clef de registre contenant l'imprimante par defaut et supprime toutes les options à "," derrière
for /F "eol=, tokens=1,2,3,4 delims=, " %%i in ('REG QUERY "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows" /s^|find "winspool"') do set TEST=%%i
Rem créer un variable test contenant ce que renvoi la fonction for au dessus
set TEST=%TEST%
Rem Ecrit la variable dans le fichier txt
echo %TEST%>P:\ImpDefaut.txt
Rem Récupère le nom de l'imprimante en 4 variables et la met dans une seule
FOR /f "tokens=1,2,3,4,5,6" %%i in ('find /i "REG_SZ" "P:\ImpDefaut.txt"') do set IMP=%%k %%l %%m %%n
Cette partie du code m'extrait bien l'imprimante sous la forme \\SRV1\nom_imprimante et j'aimerais ne pas avoir en sortie le serveur mais juste nom_imprimante
Quelqu'un aurais t'il une astuce pour cela ?
Merci d'avance.
Message édité par krait820 le 24-06-2014 à 15:30:46