Commande DOS et retour chariot
kck61
-
kck61 -
kck61 -
Bonjour,
j'ai un petit soucis de retour à la ligne dans un fichier texte généré par une commande.
je précise. Je recherche les droits attibués sur des répertoires et je les envoi dans un fichier txt. Ensuite j'envoi un autre bat (explication après:
# Traitement.bat
cacls l: /T /C > Temp.txt
Droits.bat
Mon Droits .bat élimine les caractères que je ne veux pas et le résultat se trouve dans un autre fichier texte (Droits.txt) puis j'efface le Temp.txt qui ne me sers plus :
#Droits.bat
@echo off > Droits.txt
for /F "delims=" %%A in (temp.txt) do (
set var=%%A
set var=!var:^:^(OI^)^(CI^)^F=!
set var=!var:^:^(OI^)^(CI^)^C=!
set var=!var:^:^(OI^)^(CI^)^R=!
set var=!var:D11610100\=!
set var=!var:^:^F=!
set var=!var:^:^R=!
set var=!var:^:^C=!
set var=!var:^;^C=!
set var=!var:Administrateurs=
set var=!var:BUILTIN\=!
echo !var! >> Droits.txt
)
delete temp.txt /y
tout ça marche impeccable sauf que j'obtiens le résultat suivants :
l:\réperetoire Administrateurs
Agent1
Agent2
l:\répertoire\sous-répertoires\fichier.xls Administrateur
Agent1
Agent2
Voilà, vous comprenez mon problème. J'aimerai qu'après chaque nom de dossier ou de fichiers, j'ai un retour chariot pour qu'on arrive à ça :
l:\répertoire
Administrateur
Agent1
Agent2
l:\répertoire\fichier.xls
Administrateurs
Agent1
Agent2
Juste une mise en forme moins brouillon.
Merci pour le coup de main
@+
j'ai un petit soucis de retour à la ligne dans un fichier texte généré par une commande.
je précise. Je recherche les droits attibués sur des répertoires et je les envoi dans un fichier txt. Ensuite j'envoi un autre bat (explication après:
# Traitement.bat
cacls l: /T /C > Temp.txt
Droits.bat
Mon Droits .bat élimine les caractères que je ne veux pas et le résultat se trouve dans un autre fichier texte (Droits.txt) puis j'efface le Temp.txt qui ne me sers plus :
#Droits.bat
@echo off > Droits.txt
for /F "delims=" %%A in (temp.txt) do (
set var=%%A
set var=!var:^:^(OI^)^(CI^)^F=!
set var=!var:^:^(OI^)^(CI^)^C=!
set var=!var:^:^(OI^)^(CI^)^R=!
set var=!var:D11610100\=!
set var=!var:^:^F=!
set var=!var:^:^R=!
set var=!var:^:^C=!
set var=!var:^;^C=!
set var=!var:Administrateurs=
set var=!var:BUILTIN\=!
echo !var! >> Droits.txt
)
delete temp.txt /y
tout ça marche impeccable sauf que j'obtiens le résultat suivants :
l:\réperetoire Administrateurs
Agent1
Agent2
l:\répertoire\sous-répertoires\fichier.xls Administrateur
Agent1
Agent2
Voilà, vous comprenez mon problème. J'aimerai qu'après chaque nom de dossier ou de fichiers, j'ai un retour chariot pour qu'on arrive à ça :
l:\répertoire
Administrateur
Agent1
Agent2
l:\répertoire\fichier.xls
Administrateurs
Agent1
Agent2
Juste une mise en forme moins brouillon.
Merci pour le coup de main
@+
4 réponses
-
hello
peut-on voir un bout du contenu de Temp.txt -
Bien sûr :
L:\ BUILTIN\Administrateurs:(OI)(CI)F
D11610100\NT_RIO:(OI)(CI)F
D11610100\PELLETIER-00987:(OI)(CI)R
L:\Admisys.lnk BUILTIN\Administrateurs:F
D11610100\NT_RIO:F
D11610100\PELLETIER-00987:R
L:\AGENT(S) BUILTIN\Administrateurs:(OI)(CI)F
D11610100\Assistant informatique local:(OI)(CI)F
D11610100\RIO:(OI)(CI)F
L:\Archivage SI.lnk BUILTIN\Administrateurs:F
D11610100\NT_RIO:F
D11610100\PELLETIER-00987:R
et voilou
edit : y'a une erreur dans le Droit.bat, la ligne avec Administrateur n'est pas sensé exister...copier/coller foiré ;-) -
et en résultat tu veux ça ?
L:\ Administrateurs NT_RIO PELLETIER-00987 L:\Admisys.lnk Administrateurs NT_RIO PELLETIER-00987 L:\AGENT(S) Administrateurs Assistant informatique local RIO L:\Archivage SI.lnk Administrateurs NT_RIO PELLETIER-00987
-
t'as tout pigé. c'est le principe que j'aimerai mettre en place.
les droits en dessous des rép et fichiers.
ps : y'a une ligne en doublon sur mon Droits.bat aussi....j'arrête de boire.