Question
Copie de Dossier
- fromentin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 6
- Remerciements reçus 0
Je suis en train de faire un shell pour copier des dossiers vers un disque pour faire une petite \"sauvegarde\".
J'ai réussi à faire a peu près ce que je veux, j'ai juste un problème date.
Au début de ma copie j'écris ma date dans un fichier texte, je renvoi aussi mes erreurs dans ce fichier, et a la fin je remet la date.
Si jamais j'ai des erreurs dans ma copie ma date de début et de fin est bien différente, par contre si il n'y a pas d'erreur il n'attend pas la fin de la copie pour m'écrire la date de fin!! Est ce que quelqu'un a une idée??
Je vous met la copie de mon script :
[code:1]
$entete= \"Début de sauvegarde\"
$pied= \"Fin de sauveagrde\"
$date=date
$TARGET=\"e:\"
$WORKDIR=\"c:\"
$SAVELIST=\"c:\liste.txt\"
$IGNORELIST=\"c:\ignore.txt\"
$rapport=\"c:\test.txt\"
write-output $entete $date > $rapport
copy-item $(cat $savelist) $target -Recurse -force 2>> $rapport
write-output $pied $date >> $rapport
[/code:1]
PS: Vous pouvez voir que j'ai aussi prevu une variable pour des fichiers a ignorés (*.tmp ou autre), je n'ai pas encore essayer de l'inclure dans mon script car ca me parait pas si sim^ple que ca, si quelqu'un a une info la dessus..
Merci d'avance
Message édité par: fromilepar, à: 25/03/10 11:09<br><br>Message édité par: fromilepar, à: 25/03/10 11:13
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
fromilepar écrit:
Je n'ai pas ce soucis sous PS v2.par contre si il n'y a pas d'erreur il n'attend pas la fin de la copie pour m'écrire la date de fin!
Peut-tu nous donner un exemple du fichier de sortie ?
Pour les dates ne devrais-tu pas procéder ainsi :
[code:1]
$entete= \"Début de sauvegarde $(get-date)\"
$pied= \"Fin de sauvegarde $(get-date)\"
[/code:1]
fromilepar écrit:
Cela dépend de son contenu : répertoire ou fichiers ou les deux ?PS: Vous pouvez voir que j'ai aussi prevu une variable pour des fichiers a ignorés (*.tmp ou autre), je n'ai pas encore essayer de l'inclure dans mon script car ca me parait pas si sim^ple que ca, si quelqu'un a une info la dessus..
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- fromentin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 6
- Remerciements reçus 0
oui c'est sur que pour ta commande ( \"Début de sauvegarde $(get-date)\" ) c'est pas bete!!
Pour le fichier de sortie j'en joind un tout de suite
La pièce jointe test-61af367623bd6e9ebc531cad1ea82db2.txt est absente ou indisponible
Et pour le fichier d'exclusion il va y avoir des repertoires des fichiers et des extentions (en priorité des extensions pour exclure les fichiers temp de la copie)
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- fromentin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 6
- Remerciements reçus 0
Début de sauvegarde
jeudi 25 mars 2010 10:57:29
Fin de sauveagrde
jeudi 25 mars 2010 10:57:29
Voila, pour ce qui est de la mise en page ce n'est pas top mais bon on verra pour faire du plus jolie quand je maitriserai un peu plus...
EDIT :
Pour la mise en page avec la commande de laurent c'est deja bcp mieux tout est sur une ligne...
<br><br>Message édité par: fromilepar, à: 25/03/10 15:34Début de sauvegarde 03/25/2010 15:19:47
Fin de sauvegarde 03/25/2010 15:19:47
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Je n'ai pas percuté sur le moment, mais ton pb proviens de la gestion des paramètres, en procédant comme tu le fais tu passes un tableau d'objets à Write-Output.EDIT :
Pour la mise en page avec la commande de laurent c'est deja bcp mieux tout est sur une ligne...
Et lui, il fait ce que tu lui demandes, il affiche les objets les uns à la suite des autres. Il n'y a donc pas d'erreur, ceci est aussi possible :
[code:1]write-output \"$entete $date\"[/code:1]
C'est juste un petit piége d'écriture.
fromilepar écrit:
Une liste des cas est nécessaire, par exemple est-ce que tu comptes gérer le globbing (non, ce n'est pas un gros mot) ?Et pour le fichier d'exclusion il va y avoir des repertoires des fichiers et des extentions (en priorité des extensions pour exclure les fichiers temp de la copie)
[code:1]
dir c:\windows\[D-R]*.E??
#
[/code:1]
Ah les joies de la spécification
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- fromentin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 6
- Remerciements reçus 0
Pour le globbing je ne pourrais pas te dire car je ne voit pas du tout ce que c'est!!!
Pour faire simple il va faloir que je sauvegarde entre autre le dossier \"C:\Documents and Settings\" et pour eviter les choses inutiles je voulais exclure les fichiers *.temp, les dossiers temp et content.ie5.
Mais au pire si ce n'est pas possible tant pis on aurra plus gros de sauvegarde.
J'ai remanier mon script avec ton aide pour avoir un truc plus sympa, maintenant ca donne ca :
[code:1]
$entete= \"Début de sauvegarde $(get-date)\"
$pied= \"Fin de sauvegarde $(get-date)\"
$date=date
$TARGET=\"e:\"
$WORKDIR=\"c:\"
$SAVELIST=\"c:\liste.txt\"
$IGNORELIST=\"c:\ignore.txt\"
$rapport=\"c:\test.txt\"
$separation=\"
\"
write-output $entete > $rapport
write-output $separation >> $rapport
copy-item $(cat $savelist) $target -Recurse -force 2>> $rapport
write-output $separation >> $rapport
write-output $pied >> $rapport
[/code:1]
mais le résultat n'est touours pas bon pour ce qui est de l'heure de fin!! Comme si la commande \"copy-item\" n'etait pas blocante, il y a moyen de la rendre blocante?
Merci pour tes infos.
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Copie de Dossier