× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 Question pour les bons en .bat
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
fourmix
  Posté le 20/08/2004 @ 11:05 
Aller en bas de la page 
Petit astucien
Bonjour, je voudrais automatiser la sauvegarde de mon répertoire "mes documents" sur un serveur. Je pense que faire un batch, lancé par le planificateur des tâches peut faire l'affaire. Je ne connais pas encore très bien les batch. J'ai un début de .bat : xcopy D:\Mes documents Sylvain\*.* \\nomserveur\sylvain\*.* /D/E/F/H/R/K/Y Ce que j'aimerais faire c'est au lieu d'écraser à chaque fois le répertoire précédent, créer des répertoires différents, en fonction de la date, du style \\nomserveur\sylvain\save_04_08_19 et \\nomserveur\sylvain\save_04_08_20. Mais pour ne pas encombrer le serveur, chaque jour impair s'écraserai. Je m'explique le save_04_08_21 écraserait le save_04_08_19. Idem pour les jours pairs. De cette façon j'ai tjs 2 répertoires save, ce qui n'encombre pas le serveur, et 2 sauvegardes pour plus de sécurité. Donc comment avoir la date dans un variable et comment utiliser celle ci pour la création d'un nom de répertoire? Merci de votre aide. Sylvain

Modifié par fourmix le 20/08/2004 11:09
Publicité
Arsenic
 Posté le 20/08/2004 à 12:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
C'est infernal, le traitement de la variable de date sous Dos. Quelque tuyaux chez Laurence Soucy, mais bon, vraiment pas simple: [url]http://home7.inet.tele.dk/batfiles/[/url] C'est pourquoi je préfère me servir d'utilitaires Dos dédiés gérant la date, en particulier fdate. Un exemple sur ma page perso si ça t'inspire: [url]http://perso.wanadoo.fr/strychnine/dossave.html[/url] Ah, avant que j'oublie: mets "Mes documents.." entre guillemets ou avec un tilde en nom court Dos au 6ème caractère, sans quoi tu vas avoir des misères...
Anonyme
 Posté le 20/08/2004 à 14:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien
Je crois que tu as un serveur Linux. Linux sait faire ca tout seul
fourmix
 Posté le 20/08/2004 à 15:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Salut et merci. pour Torrent : Mon serveur est sous win malheureusement. pour Arsenic : J'ai fait ce script en test qui marche: (copier à 95% depuis un site, j'ai du changer qques paramètres car le prg utilisait la dtae en américain je pense) @echo off for /f "tokens=1-3 delims=/ " %%a in ('date /t') do ( set mm=%%b set dd=%%a set yyyy=%%c) xcopy D:\"Mes documents Sylvain\*.*" "C:\test\save_%yyyy%_%mm%_%dd%\*.*" /E/F/H/R/K Par contre quand j'utilise l'option /EXCLUDE ça ne marche pas. je fais xcopy D:\"Mes documents Sylvain\*.*" "C:\test\save_%yyyy%_%mm%_%dd%\*.*" /EXCLUDE:Logiciels /E/F/H/R/K avec Logiciels qui est un répertoire (volumineux et pas vraiment important) Et autre pbl : quand je fais xcopy D:\"Mes documents Sylvain\*.*" "\\nomserver\sylvain\save_%yyyy%_%mm%_%dd%\*.*" /E/F/H/R/K, ça ne marche pas parce que je ne suis pas logguer sur le serveur. Existe-t-il qqch du style sylvain@nomserver comme pour un serveur FTP? Et comment faire attendre le prg, pour que je rentre le mdp et que le prg se relance pour faire la copie une fois le mdp validé? Merci bcp en attendant Sylvain
Arsenic
 Posté le 20/08/2004 à 15:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Je ne sais par trop. Concernant la syntaxe "tokens", je l'ai aussi vue sur le web, mais bon, je ne la pratique pas. Sur le paramètre d'exclusion, je crois me souvenir, mais je ne suis pas sûr, que la syntaxe est "indirecte". /ECXLUDE:"chemin de toto"\toto.txt où c'est le fichier d'exclusion toto lui-même qui contient par exemple \rep, excluant tout fichier dont le chemin est sous le répertoire \rep. Enfin, à propos du serveur, je ne sais pas comment est boutiqué le tien. En principe, un batch planifié te demandera, la première fois, ton identité et mdp de connexion à ce serveur, sous-entendant bien sûr qu'il existe préalablement sur le serveur des droits pour les paramètres en question. Par exemple, pour bidouiller de mes postes Win à mon serveur Linux, je n'ai aucun moyen de gérer de nouveaux mdp, qui sont gérés par un progiciel propriétaire, ce qui m'oblige à me logger avec l'identifiant et le mdp du serveur proprement dits, comme si je travaillais directement dessus.
Arsenic
 Posté le 20/08/2004 à 15:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
D'après Rob van der Woude: [url]http://www.robvanderwoude.com/index.html[/url]
/EXCLUDE:filename Excludes the files listed in the specified file from the copy operation. The exclusion file can have a list of exclusion patterns (one per line, no wild card characters are supported). If any exclusion pattern in the file matches any part of the path of a subject file, that file is not copied. Examples Copy only files older than Christmas day 2000: FOR /F "tokens=1* delims=:" %%A IN ('XCOPY *.* D:\Mydir /D:12-25-2000 /H /I /L /R ^| FIND ":"') DO (>>%TEMP%.\exclude.lst ECHO.%%B) XCOPY *.* D:\Mydir /EXCLUDE:%TEMP%.\exclude.lst /H /I /R Delete files created or modified after Christmas 2000: FOR /F "tokens=1* delims=:" %%A IN ('XCOPY *.* D:\Emptydir /D:12-26-2000 /H /I /L /R ^| FIND ":"') DO DEL /F %%B
fourmix
 Posté le 20/08/2004 à 16:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Alors les nouvelles : J'ai résolu mes 2 pbls, a savoir l'exclusion et l'accès au serveur Tu as raison l'option EXCLUDE renvoie à un fichier comportant des lignes. J'ai donc créer un fichier exclusion.txt qui contient les noms des répertoires à ne pas sauver (un par ligne) (Attention à mettre ce fichier au même endroit quer le batch) Pour l'accès au serveur, il faut que le login et les mdp utilisé sur les 2 machines soientr le même et ça marche (ou alors se logguer une fois sur le serveur via "les favoris réseau" par exemple) Bon pour le moment je n'arive à faire marche cette tâche que sosu c: Et pas D/, petit pbl à résoudre. @echo off for /f "tokens=1-3 delims=/ " %%a in ('date /t') do ( set mm=%%b set dd=%%a set yyyy=%%c) echo Ceci est la sauvegarde automatisée de vos données personnelles sur le serveur. echo Nous sommes le %yyyy% %mm% %dd%. xcopy D:\"Mes documents Sylvain\*.*" "\\nomserveur\Equipe technique\Sylvain\save_%yyyy%_%mm%_%dd%\*.*" /EXCLUDE:exclusion.txt/E/F/H/R/K Je vais réfléchir à l'éventuelle utilisation de l'option /D et lancer via le planificateur des tâches une sauvegarde toutes les heures (comme ça tous mes fichiers seront sauvés le matin et dans la journés, seuls les fichiers modifiés seront écrasés sur le serveur) [cool]Le + gros du prg est fait![bigsmile] Maintenant, comment analyser les noms des répertoires existant sur le serveur et ecraser le save_2004_08_19 par le save_2004_08_21 (par exemple) et le 18 par le 20??? bon w-e
Arsenic
 Posté le 20/08/2004 à 16:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Maintenant, comment analyser les noms des répertoires existant sur le serveur et ecraser le save_2004_08_19 par le save_2004_08_21 (par exemple) et le 18 par le 20??? bon w-e
Ben moi, je procède comme je te l'ai dit avec fdate, il suffit de faire une opération dans ta variable jour, appelons-là "%JOURJ%" Il suffit de calculer à partir de %JOURJ% la variable correspondant à, disons 2 jours avant, appelons-la %JOURJ2%. Maintenant, avant mon batch, je fais une conditionnelle: IF EXIST "chemin"%JOURJ2%.TOTO DEL (ce fichier)
RPG3000
 Posté le 29/08/2004 à 19:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Salut! Pour te siiiiiiiiiiiiiiiiimplifier la vie, va sur astase.com, télécharge PowerBatch. Il te fourni des outils pour générer des codes et il possède un système de teste intégré sans bezoin ke ton batch soit enregistré. Il a un assistant XCOPY avec toute les options. Si t'es pas fort, y'a un tutorial, avec PowerBatch. Un tutos facil à comprendre. J'ai appris le batch avec, en fait c assez facil. @++
Publicité
Arsenic
 Posté le 30/08/2004 à 13:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Ah non, ça, c'est vraiment "une réponse à bon marché", histoire de dire quelque chose. Je veux bien croire que Power batch facilite l'écriture de fichiers des commandes via un assistant, et même qu'il sait compiler les batch en com pour ceux que ça intéresse. Mais je ne vois pas par quelle magie il suffirait à gérer, du seul fait de son interface ajoutée, ce que Dos fait très mal, savoir la gestion de la variable de date.
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
69 €SSD externe portable Samsung T5 500 Go à 69 €
Valable jusqu'au 30 Novembre

Amazon fait une promotion sur le SSD externe portable Samsung T5 500 Go qui passe à 69 € livré gratuitement alors qu'on trouve le SSD à 110 € ailleurs. Le disque SSD Samsung T5 portable est plus de deux fois plus petit que la taille de votre smartphone et fournit jusqu'à 5 fois la vitesse d'un disque dur portable. Apprenez à travailler en quelques secondes, transférez de grandes bibliothèques de vidéos et de photos à des vitesses pouvant atteindre 550 Mo/s. Vous ne craindrez pas de l'emporter partout avec vous grâce à sa conception robuste et résistante avec un coeur de SSD résistant aux chocs. Grâce à son interface USB-C, vous pouvez le brancher sur votre ordinateur, mais également sur un smartphone ou une tablette. Un câble USB-C vers USB-A (prise USB classique) est fourni.


> Voir l'offre
199 €Kit 5.1 Logitech Speaker System Z906 à 199 €
Valable jusqu'au 30 Novembre

Amazon fait une promotion sur le kit 5.1 Logitech Speaker System Z906 qui passe à 199 € livré gratuitement alors qu'on le trouve ailleurs à partir de 250 €. Avec une puissance de diffusion de 500 watts (RMS), ce système 5.1 certifié THX produit un son de qualité cinéma. Profitez d'un contrôle total sur votre système multimédia grâce à ses entrées numériques et analogiques, un pupitre de commande facile à lire et empilable et une télécommande sans fil.


> Voir l'offre
79,99 €Casque sans fil Sony WH-CH700N Bluetooth avec réduction de bruit active à 79,99 €
Valable jusqu'au 30 Novembre

Cdiscount fait une belle vente flash sur le casque sans fil Sony WH-CH700N Bluetooth qui passe à 79,99 € livré gratuitement alors qu'on le trouve ailleurs à plus de 120 €. Ce casque sans fil rechargeable (via micro USB) offre jusqu'à 35h d'autonomie. L'AINC (Artificial Intelligence Noise Cancelling) s'adapte à votre environnement, ce qui vous permet d'éliminer les bruits indésirables lors de vos voyages ou si vous êtes avec d'autres personnes dans une même pièce. Une très bonne affaire.


> Voir l'offre

Sujets relatifs
Sql MCD pour un projet de location
acess et vba pour modification d'une base de donnée
Commande batch pour ouvrir plusieurs fichiers windows 8
Aide pour un programme simple en C++
Question
macro excell pour ouverture fichier avec password
Sites Internet d'apprentissage pour C++
Aide POur initiation a SQL ( oracle 10G)
Script pour lancer un programme en VBS
demande d'aide pour un petit script
Plus de sujets relatifs à Question pour les bons en .bat
 > Tous les forums > Forum Autres langages