Script sous windows.
Résolu/Fermé
firac
Messages postés
39
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
18 novembre 2010
-
10 mars 2010 à 10:56
firac Messages postés 39 Date d'inscription mercredi 31 décembre 2008 Statut Membre Dernière intervention 18 novembre 2010 - 10 mars 2010 à 14:40
firac Messages postés 39 Date d'inscription mercredi 31 décembre 2008 Statut Membre Dernière intervention 18 novembre 2010 - 10 mars 2010 à 14:40
A voir également:
- Script sous windows.
- Clé windows 10 gratuit - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
- Windows 10 gratuit - Accueil - Mise à jour
- Windows movie maker windows 11 - Télécharger - Montage & Édition
4 réponses
Yaggoth
Messages postés
16
Date d'inscription
mercredi 10 mars 2010
Statut
Membre
Dernière intervention
26 janvier 2016
1
10 mars 2010 à 11:37
10 mars 2010 à 11:37
Je vois pas trop l'interêt, de ce script ou sinon je n'ai pas du comprendre ce que tu demandes.
Dans le doute je propose quand même une réponse :
En Batch
En VBS
En PowerShell V1/V2
Voilà en esperant que cela puisse t'aider.
Dans le doute je propose quand même une réponse :
En Batch
REM retour au dossier parent Cd .. REM Copie de tous les fichiers et dossiers (y compris les dossiers vide) et création du dossier s'il n'existe pas (/I) REM /G pour la prise en charge des fichiers crypté REM /H pour la prise en charge des fichiers caché REM /K Copie des attributs (lecture seule, archive, ...) REM /O pour la copie des ACL (droits sur les fichiers) REM /X pour la copie de la DACL (liste d'audit) Xcopy Travaux Works /E /I /G /H /K /O /X REM On gette les erreurs IF %ERRORLEVEL% == 0 THEN GOTO SUPPRESSION GOTO ERREUR :SUPPRESSION REM On supprime le dossier Travaux sans confirmation rd Travaux /S /Q goto FIN :ERREUR Echo Une erreur s'est produite, fin du script :FIN
En VBS
CONST DOSSIER_SOURCE = "Travaux" CONST DOSSIER_DESTINATION = "Works" 'On crée une procédure recursive pour la copie des fichiers et dossiers Sub CopierArborescence (pstrSource, pstrDestination) Set lobjFileSystemobject = CreateObject("Scripting.FileSystemobject") If lobjFileSystemobject.FolderExists(pstrSource) then Set lobjDossierSource = lobjFileSystemobject.GetFolder(pstrSource) 'On crée le dossier destination s'il n'existe pas If Not lobjFileSystemobject.FolderExists(pstrDestination) then lobjFileSystemobject.CreateFolder(pstrDestination) End If 'On copie tous les fichiers For Each lobjFichier In lobjDossierSource.Files lobjFichier.Copy pstrDestination & "\" & lobjFichier.Name lobjFichier.Delete next 'On relance le traitement pour chaque dossier For Each lobjDossier In lobjDossierSource.SubFolders CopierArborescence lobjDossier.Path, pstrDestination & "\" & lobjDossier.Name lobjDossier.Delete Next Else Wscript.Echo "Dossier " & DOSSIER_SOURCE & " est introuvable" Wscript.Quit End if End Sub CopierArborescence DOSSIER_SOURCE, DOSSIER_DESTINATION
En PowerShell V1/V2
## Encore plus simple, en une ligne copy-item Travaux Works -recurse;Remove-Item Travaux -recurse ## l'avantage de l'avoir sur une ligne c'est que si l'instruction de copie échoue, t'es sur que le remove ne se lancera pas
Voilà en esperant que cela puisse t'aider.
firac
Messages postés
39
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
18 novembre 2010
2
10 mars 2010 à 13:53
10 mars 2010 à 13:53
Salut, merci beaucoup mais c`est que etant un novice dans ce domaine est ce que je peux avoir un batch le plus simple possible?
Yaggoth
Messages postés
16
Date d'inscription
mercredi 10 mars 2010
Statut
Membre
Dernière intervention
26 janvier 2016
1
10 mars 2010 à 14:00
10 mars 2010 à 14:00
Il suffit de retirer les commentaires, ils ne servaient qu'a la compréhension du code.
Donc ça donne :
Si tu retires la gestion d'erreur d'arrive à ça
Mais le problème est que si une erreur se produit pendant la copie des fichiers, le dossier sera quand meme supprimé ce qui peut être très dangereux.
La solution basé sur PowerShell ne souffre pas de se problème car l'instruction de suppression n'est executé que si la copie à fonctionné (test implicite).
Donc ça donne :
Xcopy Travaux Works /E /I /G /H /K /O /X IF %ERRORLEVEL% == 0 THEN GOTO SUPPRESSION GOTO ERREUR :SUPPRESSION rd Travaux /S /Q goto FIN :ERREUR Echo Une erreur s'est produite, fin du script :FIN
Si tu retires la gestion d'erreur d'arrive à ça
Xcopy Travaux Works /E /I /G /H /K /O /X rd Travaux /S /Q
Mais le problème est que si une erreur se produit pendant la copie des fichiers, le dossier sera quand meme supprimé ce qui peut être très dangereux.
La solution basé sur PowerShell ne souffre pas de se problème car l'instruction de suppression n'est executé que si la copie à fonctionné (test implicite).
firac
Messages postés
39
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
18 novembre 2010
2
10 mars 2010 à 14:40
10 mars 2010 à 14:40
Merci l'ami c'est bon.