Votre question

Commande DOS

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
25 Janvier 2006 21:24:53

Bonjour
J'aimerais faire un script qui fait une recherche de tout les fichier .doc dans c: et qui les copy dans un repertoire désigner.
Tout ca sous un fichier .bat (dos)
Est ce que quelqu'un peut m'aider ??

J'arrive a faire la recherche et mettre le résultat dans un fichier txt avec cette commande
dir /b /s c:\*.doc >>c:\test.txt
(ps: meme si je passe pas par un fichier txt ce n'est pas grave mais je pensais que c'ete plus simple de les mettre dans un fichier txt et se servir de ce dernier pour les copiers dans un repertoire unique.

Merci d'avance pour votre aide

Autres pages sur : commande dos

25 Janvier 2006 21:32:01

Désolé, pour ma part, je ne vois pas comment faire.

Mais, je postais tout simplement pour dire que tu te galèrais. :-?

Explications :

Clic droit sur C:\rechercher\*.doc\Ctrl + A\Ctrl + X\ puis Ctrl + V.

Temps total de la manip, 10 secondes sur un PC, donc, même si c'est à faire sur 20 Pcs, je ne penses pas que ce soit la peine de faire un *.bat pour ça.
25 Janvier 2006 21:36:34

Merci pour ta réponse mais ca je sais le faire lol
En fait ca c'est juste une partie d'un script que je fait pour une migration de win2000 vers winXP pour le taff....
Recup de profil puis deplacement de certain fichier pour les mettres où il faut plein de chose a faire quoi....
Et en fait je veut faire ca pour recuperer tout les .pst des utilisateurs qui se trouve un peu partout dans mes documents et je veut les mettre dans leur profils dans un dossier messagerie/outlook
Voila pourquoi je veut faire un script pour ca
;-)
Merci d'avance
Contenus similaires
25 Janvier 2006 22:45:31

Justement je suis entrain de faire un truc comme sa ;-) quand je l'aurais fini je te le fait passsé si tu veux ;-)
a b L Programmation
25 Janvier 2006 22:59:50

Je suppose que ça resemblera à un truc du genre:
for /F "tokens=*" %%i in (toto.dat) do copy %%i "c:\toto"
bon les fichiers avec le même nom vont poser problèmes :-D
26 Janvier 2006 10:33:55

P2Pman pour moi il y a pas de problème.
Si tu veut je peut te faire suivre mes scripts de sauvegarde et restauration si ca t'interesse. Ils sont en cours la mais si tu veut deja voir un apercu.

Par contre Cry ce que tu m'a donné apparement ca ne ressemble pas a du Dos... Mais plus a du C...
Je me trompe ??
Car ca marche pas
Merci quand meme Et si je me trompe d'apres toi pourquoi ca ne fonctionne pas ?
26 Janvier 2006 11:00:03

Autant pour moi c'est bien grace a cette commande qu'on peut faire ca je suis entrain de voir pour le faire
Merci
26 Janvier 2006 12:00:05

Re bonjour,
Donc ca fonctionne pas de probleme mais j'aurai voulu savoir comment faire pour lire la ligne complete du fichier txt.
Car quand je le genere il me genere des chemins avec des espaces et donc ma copie fonctionne pas avec les chemins qui comporte des espaces.
26 Janvier 2006 12:17:30

Met des guillemet : " " et tout les charactère spécioaux seront pri en compte ;-)

Oui envoi ton code que je vois à quoi sa ressemble sa pourrait peut etre me donner des idée meme si j'ai carément fini mon script.
26 Janvier 2006 12:51:57

oui ok pour les guillemets mais le problème c'est que mon fichier txt est generé automatiquement par cette commande:
dir /b /s c:\*.doc >>c:\test.txt
Donc si tu as une commande qui me permet de faire une recheche dans c:\ et me mettre les chemins des fichiers doc avec une guillemets je suis preneur.

Voici un apercu des scripts:

SCRIPT DE SAUVEGARDE

net use x: /d

@echo *******************
@echo * Variables *
@echo *******************

set serveur=\\Pavot\save$
set sogeti_user1=jdupond
set sogeti_user2=jdupond


@echo *******************************************
@echo * Mappage du lecteur x sur le serveur *
@echo *******************************************

net use X: %serveur%
x:
cd MigXP

@echo ***********************************
@echo * Sauvegarde profil utilisateur *
@echo ***********************************

robocopy D:\profiles\%sogeti_user1%\ x:\sauvegarde\%sogeti_user2%\Profile /E

@echo ***************************
@echo * Sauvegarde Lotus Notes *
@echo ***************************

robocopy c:\Lotus\Data x:\sauvegarde\%sogeti_user2%\Lotus1\Data /E
robocopy "D:\profiles\%sogeti_user1%\Mes documents\Lotus2\Data" x:\sauvegarde\%sogeti_user2%\Lotus\Data /E
robocopy "c:\Program Files\Lotus\Data" x:\sauvegarde\%sogeti_user2%\Lotus3\Data /E

pause


SCRIPT DE RESTAURATION

net use x: /d

@echo *******************
@echo * Variables *
@echo *******************

set serveur=\\Pavot\save$
set sogeti_user1=jdupond
set sogeti_user2=jdupond

@echo *******************************************
@echo * Mappage du lecteur x sur le serveur *
@echo *******************************************

net use X: %serveur%
x:
cd MigXP

@echo ***********************************
@echo * Restauration profil utilisateur *
@echo ***********************************

robocopy "x:\sauvegarde\%sogeti_user2%\Profile\Mes documents\" "D:\Profiles\%sogeti_user1%\My Documents\" /E
robocopy x:\sauvegarde\%sogeti_user2%\Profile\Bureau\ D:\Profiles\%sogeti_user1%\Desktop\ /E
robocopy x:\sauvegarde\%sogeti_user2%\Profile\Favoris\ D:\Profiles\%sogeti_user1%\Favoris\ /E
robocopy "x:\sauvegarde\%sogeti_user2%\Profile\Voisinage réseau\" D:\Profiles\%sogeti_user%\NetHood\ /E


@echo ***********************************
@echo * Restauration Lotus Notes *
@echo ***********************************

robocopy x:\sauvegarde\%sogeti_user2%\Lotus1\Data D:\Profiles\%sogeti_user1%\messagerie\Lotus\ /E
robocopy x:\sauvegarde\%sogeti_user2%\Lotus2\Data D:\Profiles\%sogeti_user1%\messagerie\Lotus\ /E
robocopy x:\sauvegarde\%sogeti_user2%\Lotus3\Data D:\Profiles\%sogeti_user1%\messagerie\Lotus\ /E

@echo ***********************************
@echo * Renommage fichier Lotus Notes *
@echo ***********************************

ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\Cache.dsk Cache.ndk
ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\desktop5.dsk desktop6.ndk
ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\doclbm50.ntf doclbm6.ntf
ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\doclbs5.ntf doclbs6.ntf
ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\doclbw50.ntf doclbw6.ntf
ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\journal5.ntf journal6.ntf
ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\mail50.ntf mail6.ntf
ren D:\Profiles\%sogeti_user1%\messagerie\Lotus\nntpcl5.ntf nntpcl6.ntf


@echo *******************************************
@echo * Copie des pst dans Messagerie/Outlook *
@echo *******************************************
dir /b /s c:\*.pst >>c:\outlook.txt


copy "D:\profiles\%sogeti_user1%\Mes documents\*.pst" D:\profiles\%sogeti_user1%\messagerie\outlook\

pause

VOILA EN GROS
26 Janvier 2006 18:24:51

:-o comprend rien ...... c'est quoi ce "robocopy" ??

T'es sur que c'est du batch ?? :-o
a b L Programmation
26 Janvier 2006 19:23:58

Pour les guillemets, pas la peine de les mettres dans le fichier, tu peux les mettre autour de la variable quand tu l'utilises, car le batch se contente de remplacer le %%1 par le contenu avant d'analyser la commande:
for /F "tokens=*" %%i in (toto.dat) do copy "%%i" "c:\toto"

si la première ligne est: c:\repertoire avec espaces\toto.txt
la première commande lancé sera donc: copy "c:\repertoire avec espaces\toto.txt" "c:\toto"

Pour le robotcopy, je suppose que c'est un programme robotcopy.exe ou un autre script batch robotcopy.bat qui est lancé ?
26 Janvier 2006 22:08:29

Ok CRicky
C'est stmpa je vais tester ca.
Pour vous repondre en ce qui concerne le robocopy c'est une commande qui n'est pas par defaut dans system32 mais qu'on trouve dans le ressource kit et donc oui je fais appel a robocopy.exe que j'ai placé dans x:\MigXP
Voila ;-)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS