SOS : Lire un fichier txt et effectuer une commande [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
12 janvier 2007
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour,
je suis dans la mouise, pouvez vous m'aider :

je dois réattribuer les droits sur des répertoires portant le nom de chaque user :
les répertoires sont en racine de la partition :
la commande suivante fonctionne à merveille :
---------->   Fileacl Dupont /O \Dupont /sub /files
l'avantage est que le nom du répertoire correspond au nom de l'utilisateur (ici dupont)
le hic est que j'ai 1000 users:
j'ai un fichier users.txt dans lequel il y a les 1000 lignes (un nom d'utilisateurs par ligne).

mon but : créer une routine qui ouvre le fichier txt, prend la 1ère ligne et execute le fileacl, puis revient prend la seconde ligne (second nom d'utilisateur) et ainsi de suite.
on me parle de variable pour le nom du style : For /F %i in (users.txt) do echo %i

quelqu'un peut il m'aider, c'est urgent car les users n'ont plus accès à leur répertoire à l'ouverture de session.

par avance merci de votre aide

Amateur en quête de connaissance.
Le partage du savoir fait grandir les gens...

3 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Sous quoi développes-tu ?
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Bonjour,


Dans un fichier .bat, il faut mettre deux %%, en invite, un seul suffit.


Donc dans un fichier :

For /F %%I IN (users.txt) do Fileacl %%I /O \%%I /sub /files

pause
Messages postés
2
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
12 janvier 2007

j'ai message d'erreur , mais je ne sais pas où ci essous le script


' Placer le Fileacl dans le répertoire des profils
'  Placer le script dans ce repertoire
'
'    Affectation des variables
Set WshShell = WScript.CreateObject("WScript.Shell")
Set MyObject = CreateObject("Scripting.FileSystemObject")
Set MyFile = MyObject.GetFile("test.txt")
Set OpenFile = MyFile.OpenAsTextStream(1)


'   Recherche de la ligne modifier le chemin
Do While OpenFile.AtEndOfStream = False
CurrentLine = OpenFile.ReadLine
 'Execution
 WshShell.run "d:\fileacl.exe" & CurrentLine & "/O " & CurrentLine & "/sub /files"
Loop
OpenFile.Close

Amateur en quête de connaissance.
Le partage du savoir fait grandir les gens...