Page 1 sur 1

remplacement caractere par une variable

Posté : 06 oct. 2017 09:42
par lolo1664
Bonjour,

pour résumé voici ce que je souhaite faire et si cela est réellement possible :
Ma démarche est la suivante,
- je récupère le sid de la session courante

Code : Tout sélectionner

echo recuperation sid

for /f "delims= " %%a in ('"wmic path win32_useraccount where name='%UserName%' get sid"') do (
if not "%%a"=="SID" (
set myvar=%%a
)
)
- je charge un fichier dans lequel je recherche une donnée

Code : Tout sélectionner

setlocal enabledelayedexpansion

set FileToCheck=reg.reg
set OutputFile=regok.reg



if exist "%OutputFile%" del "%OutputFile%"
for /f "usebackq delims=*" %%T in ("%FileToCheck%") do (
  echo %%T
  echo %myvar%
  Set TempVar=%%T
  set TempVar=!TempVar:TESTAREMPLACER=%myvar%!
  echo !TempVar!>>"%OutputFile%"
  )
  )
  )
- ce code fonctionne sous XP mais pas sous win10 64bit
Il ne me recupere pas la variable %myvar% et laisse vide. Pourtant sur la 1ere ligne de code, le sid est bien récupéré. Existe t'il une subtilité entre les 2 os ?

Je sais pas si je suis trop clair ^^. Les codes ci dessus sont des reprises de codes trouvé ici et la ^^

Merci de votre aide

Re: remplacement caractere par une variable

Posté : 05 févr. 2018 02:43
par Hackoo
Salut ;)
Un petit coup d'oeil ici ==> https://stackoverflow.com/questions/393 ... ve#tab-top

Code : Tout sélectionner

@ECHO OFF
SETLOCAL enabledelayedexpansion
for /f "skip=1 tokens=1,2 delims=," %%a in ('Whoami /user /FO CSV') do ( 
    set "UserName=%%a"
    set "SID=%%b"
    echo The username logged is : !Username!
    echo.
    echo And its SID = !SID!
)
pause
exit