Forum Clubic

Backup zip - Comment générer un nom automatique BAT

Salut à tous
je cherche comment générer a partir d’un fichier batch sous dos à l’aide de pkzip.exe un nom de fichier automatique tout en recupérant les fichiers a backupé dans un fichier ou à l’aide de paramètre passé à travers le fichier batch.
J’espère que c’est pas trop confu, n’ayant jamais programmé, je me dis que ca dois pas être super compliqué pour les habitués de ce forum.

ex :

ce qui aurait dans test.txt
c:\documents and settings\administrateur\cookies\.
c:\documents and settings\administrateur\favoris\.
c:\documents and settings\administrateur\blahblah\.
c:\documents and settings\administrateur\blahblahblah\.

et ca ferait un truc du genre

pkzip backupDDMMYYYY.ZIP test.txt ? bon je vois pas trop comment faire revenir les dossiers à prendre a partir d’une liste, parceque taper tout à la suite sur la commande pkzip c pas top pratique. quand à taper la date à la suite je vois que des paramètres envoyés du fichier batch, pkzip sait surement pas générer ce genre de chose.

si quelqu’un sait m’aider ce serait super
merci d’avance

Moi je ferais un truc en Wsh


Option Explicit

Dim objFSO
Dim strTextFilename
Dim objFile
Dim WshShell 
Dim strPkZipCommand
Dim strZipFilename

' Fichier texte à explorer
strTextFilename = "C:\test.txt"

' Créé un objet Shell
Set WshShell = Wscript.CreateObject("WScript.Shell") 

' Détermine le Shell en version commande
WshShell.Run("wscript //H:CScript")

' Objet de type FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")

' Le nom du fichier Zip
strZipFilename = "monfichier.zip"

' Si le fichier existe
If objFSO.FileExists(strTextFilename) then

    ' Ouvre le fichier en lecture
    Set objFile = objFSO.OpenTextFile(strTextFilename, 1)

    ' Lit son contenu ligne par ligne
    Do Until objFile.AtEndOfStream
	dim strLine
        strLine = objFile.ReadLine()
	
        ' Détermine la commande PkZip : Ajouter la ligne de commande PkZip pour ajouter un fichier à la suite d'une archive
        strPkZipCommand = "pkzip.exe -add " & strZipFilename & " " & strLine

        ' Execute la commande
        WshShell.Run(strPkZipCommand)
    Loop
Else
    Wscript.echo("Le fichier " & strTextFilename & " n'existe pas.")
end if

Maintenant je ne suis pas sur de la syntaxe de pkzip. Réfère toi à la doc.

euh merci beaucoup de ta réponse … mais je suis pas programmeur, je sais pas ce qu’est ce wsh. La société qui m’emploie ne compte pas acheter de license , on a le dos et pkzip donc … pour l’instant c’est un peu pénible faut ouvrir winzip et sélectionner manuellement les fichiers à zipper à chaque fois qu’on fait une sauvegarde, je voulais juste un truc un peu plus automatique et où on perderait pas de temps …

wsh est le langage de script windows. il ne necessite que windows (98, 2000 ou xp sous 95 et nt, necessite une install). je me suis assuré que le script utilise la console et pas internet explorer.

pour tester, tu le sauve dans un fichier .vbs que tu peux lancer par un double clic ou en entrant son nom a l’invte msdos.

pour des infos sur wsh : wsh microsoft

au bureau, j’ai plusieurs scripts batch qui s’execute automatiquement chaque nuit pour effectuer des sauvegardes diverses … la date est calculé automatiquement … je te file le script, si ça peut t’aider :jap:

merci beaucoup.