Précédent   Forum des professionnels en informatique > Systèmes > Windows > Windows Serveur
Windows Serveur Forum d'entraide professionel pour Windows Serveur : NT, 2000, 2003 , Longhorn...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/09/2007, 13h01   #1
Invité régulier
 
Inscription : octobre 2004
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 24
Points : 6
Points : 6
Par défaut Modifier des fichiers dans les rep users automatiquement

Bonjour,

J'ai besoin, pour tous les utilisateurs de mon serveur :
1 - de renommer un fichier (toto.txt) par l'année en cours (exemple : 2007.txt) (ren)
2 - de créer un fichier vide toto.txt (je ne sais pas faire, ou alors en copiant d'un fichier vide)

Je sais créer un fichier, renommer un fichier, mais je ne sais pas comment faire cette manipulation pour les utilisateurs.

Les fichiers à modifier sont dans les mêmes répertoires pour tous les utilisateurs. Dans l'arbo il n'y a donc que le nom du user qui change :
Code :
1
2
3
4
5
exemple : 
user1 : c:/repParent/user1/repertoire/toto.txt
user2 : c:/repParent/user2/repertoire/toto.txt
...
Pourriez-vous m'aider à réaliser ce fichier batch ?

Merci d'avance
mazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2007, 17h28   #2
Membre émérite
 
Avatar de neuneu1
 
Inscription : avril 2007
Messages : 1 702
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2007
Messages : 1 702
Points : 813
Points : 813
Passe en vbs et fait une boucle sur les repertoires des users

a+
neuneu1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 11h03   #3
Invité régulier
 
Inscription : octobre 2004
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 24
Points : 6
Points : 6
Merci neuneu1, mais je ne maitrise pas du tout VB.
J'ai tout de même trouvé une solution sur un autre forum :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
::pour chaque utilisateur
for /f "delims=" %%a in ('dir /b "C:\Documents and Settings\"') do call :cmd "%%a"
exit

:cmd
::si c'est "All Users" on passe
if %1=="All Users" goto :eof
::on va dans le repertoire
cd "c:\documents and settings\%~1\repertoire"
::renommer fichier avec la date
ren toto.txt %date:~-4%.txt
::creation du fichier texte vide
echo | findstr "1" > vide.txt
mazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 08h59   #4
Membre expérimenté
 
Avatar de ArKam
 
Inscription : mars 2007
Messages : 506
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mars 2007
Messages : 506
Points : 512
Points : 512
Tu te complique la vie pour rien mon grand, utilise simplement un fichier .bat que tu mettra dans le script de connection de tes utilisateurs.

fait moi signe par mp si tu veut que je te l'ecrive.
ArKam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 09h42   #5
Invité régulier
 
Inscription : octobre 2004
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 24
Points : 6
Points : 6
C bon j'arrive à faire la boucle pour lister les users, donc de ce coté c'est réglé.
Mais mon besoin a un peu évolué.
L'idée est donc maintenant plutôt de copier le contenu du répertoire utilisateur en question (sous-répertoires et fichiers inclus) dans un dossier nommé comme l'année en cours. Et ensuite d'effacer le contenu des fichiers (et non pas les fichiers) qui sont dans le répertoire original afin qu'ils deviennent vierges (ce sont de fichiers textes).

Pour être plus précis.

Je dois toujours faire la manip pour tous les users (je reprend donc la boucle).
Code :
1
2
3
4
5
6
7
::pour chaque utilisateur
for /f "delims=" %%a in ('dir /b "C:\Documents and Settings\"') do call :cmd "%%a"
exit

:cmd
::si c'est "All Users" on passe
if %1=="All Users" goto :eof
Mais comme le répertoire que je vais copier aura un contenu différent selon le user, je pensai :
1 : Le dupliquer dans un répertoire portant le nom de l'année en cours
2 : Garder l'arborescence et les fichiers dans le répertoire original tout en effacant le contenu des fichiers

Un exemple :

L'utilisateur toto1 a ceci dans le répertoire que je souhaite sauvegardé :
repASauvegarder/fichier1.txt
repASauvegarder/fichier2.txt
repASauvegarder/repertoireEnfant/fichier1.txt
repASauvegarder/repertoireEnfant/fichier2.txt


L'utilisateur toto2 a ceci dans le répertoire que je souhaite sauvegardé :
repASauvegarder/fichier1.txt
repASauvegarder/fichier2.txt
repASauvegarder/repertoireEnfant/repertoireEnfant2/fichier1.txt
repASauvegarder/repertoireEnfant/repertoireEnfant2/fichier2.txt

Donc le 1 je duplique le contenu du répertoire repASauvegarder dans le répertoires archives portant l'année en cours :
Code :
xcopy "chemin\%1\repASauvegarder\" "chemin\%1\%date:~-4%\ContenuRepASauvegarder\"  /e
Et c'est là que ca se complique,le point 2, je souhaite que le contenu des fichiers contenus dans le répertoire orginial soit effacés, afin que le user reparte sur des fichiers vierges. Mais en gardant les mêmes noms de fichiers et chemins d'accès.
mazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h25.


 
 
 
 
Partenaires

Hébergement Web