Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4639 connectés 

 


Dernière réponse
Sujet : [batch] détruire fichier s'il n'existe pas déjà à un autre endroit...
Mara's dad C'est pas du javascript, c'est du JScript. Un truc spécial microsoft.
 
Regarde ce topic : http://forum.hardware.fr/forum2.ph [...] ic=&trash=
 
J'avais donné un exemple pour un PB du même genre.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Mara's dad C'est pas du javascript, c'est du JScript. Un truc spécial microsoft.
 
Regarde ce topic : http://forum.hardware.fr/forum2.ph [...] ic=&trash=
 
J'avais donné un exemple pour un PB du même genre.
z0rglub

Mara's dad a écrit a écrit :

La seule solution que je connaisse sans passer par un prog compilé, c'est d'utilise WSH : Avec un script JS, y'a moyen, mais c'est plus lourd !  




 
Je ne sais absolument de koi tu veux parler, mais continue, ça m'intéresse.
 
PS : JS, c'est pas javascript quand même, parce que là je voisp as trop le rapport...

Mara's dad Ben tu parlais pas de sous-répertoires !
 
Là çà se complique pas mal. En gros, y'a pas vraiement de solution purement BATCH.
 
La seule solution que je connaisse sans passer par un prog compilé, c'est d'utilise WSH : Avec un script JS, y'a moyen, mais c'est plus lourd !
z0rglub j'ai testé et ça mache impec pour le repertoire en question, mais dès qu'il s'agit des sous repertoire, ça rentrer pas dedans
z0rglub bon, je teste ça ce soir et je te dis si ça marche bien.
Merci du coup de main (là je pars en cours)
Mara's dad 1- Créer un map vers "\\Pookie\echanges", par exemple Z:\
 
En en interractif :
Z:
CD \Pierrick\sauvegarde\images\
FOR %A in (*.*) do if not exist D:\images\%A del %A
 
En en Batch :
Z:
CD \Pierrick\sauvegarde\images\
FOR %%A in (*.*) do if not exist D:\images\%%A del %%A
 
La seul différence, en batch, faut mettre 2 %
 
Le mapping est indispensable parceque  si tu fait :
FOR %A in (\\Pookie\echanges\Pierrick\sauvegarde\images\*.*)
la variable %a ne contient pas juste le nom de fichier, mais tout le chemin, et donc il n'est pas possible de vérifier son inexistance dans D:\images.
 
C'est clair ?
stef_dobermann je vois pas :ouch:
z0rglub :bounce:
z0rglub en effet,
etape 1 : récupérer tous les chemins de fichiers de la destination
etape 2 : pour chacun des chemin, vérifier s'il existe à la source et le détruire si non trouvé à la source
stef_dobermann :hello:
tu peux essayer
if not exist toto.jpg then delete toto.jpg
 
seul probleme, tu devra ecrire ca pour chacun des fichiers  :cry:
z0rglub bonjour,
certains ont peut-être vu que je faisais des fichiers batch en ce moment.... Voici un nouveau pb (que je vais résoudre grâce à vous sûrement...)
Je fais une copie d'un repertoire vers un autre :
xcopy "D:\images\*.*" "\\Pookie\echanges\Pierrick\sauvegarde\images\" /s/d/y
le /d permet de ne copié que les fichiers qui sont à la source et pas à la destination, et de remplacer les fichiers qui sont plus récent à la source qu'à la destination. (Si je travaille sur un fichier par exemple, et qu'il a été modifié depuis la dernière sauvegarde...)
Mon problème c'est que si je décide de faire du ménage à la source et de supprimer ou de déplacer des fichiers, je veux retrouver parfaitement la même organisation du côté de la destination.
Exemple :
source au jour 1 :  
fichier D:\images\toto.jpg
fichier D:\images\robert.jpg
destination jour 1 :
fichier D:\images\toto.jpg
fichier D:\images\robert.jpg
 
source au jour 2 : // suppression de toto.jpg
fichier D:\images\robert.jpg
destination jour 2 :
fichier D:\images\toto.jpg alors qu'il n'existe plus côté source
fichier D:\images\robert.jpg  
 
La première solution que j'employais jusqu'à maintenant, à la barbare, c'était de supprimer intégralement toute la destination et de tout recopier à partir de la source. Très long quand on sait que ça passe par le réseau et que je suis en 10 Mbits et que le repertoire source fait 2 Go
 
Est-ce que vous savez comment faire ce que je veux ? (et est ce que j'ai éé assez clair ?)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)