Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[RESOLU] Xcopy dans une boucle for
Auteur Message
Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
Salut Wink

J'ai ce script qui fait une copie de toutes les clés usb insérés à la fois dans un PC
ce que j'ai remarqué un étrange comportement c'est à la fin de la copie la destination devient caché
donc je vous demande d'analyser ce script même voir le tester avec plusieurs clés usb insérés à la fois et de m'expliquer à quoi est du ce comportement
merci !

Code:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set TargetFolder=C:\Testcopie
for /f "skip=1" %%b IN ('wmic logicaldisk where drivetype^=2 get deviceid') DO (
set MyUSBDrive=%%b && XCopy !MyUSBDrive! !TargetFolder! /S /I /C)
pause




Dernière édition par Hackoo le Sam 7 Fév 2015 - 14:03; édité 1 fois

______________________________________________________
Mes Contributions en Téléchargement
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
Hey,

Essayes comme cela:

Code:
@Echo Off
Setlocal ENABLEDELAYEDEXPANSION
Set TargetFolder=C:\Testcopie
For /F "skip=1" %%b IN ('wmic logicaldisk where drivetype^=2 get deviceid') DO (
Set MyUSBDrive=%%b
XCopy "%MyUSBDrive%" "%TargetFolder%" /E /I /C)
pause


@++




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
Mort de Rire

WMIC ressort l'OUTPUT en UNICODE. Donc il faut récupèrer ta valeur au travers d'un FIND.

sinon t'auras des problèmes....

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
sachadee a écrit:
Mort de Rire

WMIC ressort l'OUTPUT en UNICODE. Donc il faut récupèrer ta valeur au travers d'un FIND.

sinon t'auras des problèmes....

Okay


J'ai fait avec un find comme ceci et le problème persiste, il faut tester les gars
c'est un mystère pour le moment Rolling Eyes
Code:
@echo off
Setlocal ENABLEDELAYEDEXPANSION
Mode con cols=98 lines=10 & Color 9E
Title Searching the Drive letter of your USB Key by Hackoo 2015
set TargetFolder=E:\COPYUSBKEY
echo.
ECHO   *******************************************************************************************
echo.
echo                 Looking for the drive letter of your connected USB Key .......
echo.
ECHO   *******************************************************************************************
wmic logicaldisk get DeviceID,DriveType /Format:CSV > %Tmp%\tmp.txt
for /f "skip=2 tokens=1-3 delims=," %%a in ('%COMSPEC% /a /c type "%Tmp%\tmp.txt"') do echo %%b %%c >> %Tmp%\tmp2.txt
for /f "tokens=1" %%i in ('%COMSPEC% /a /c type "%Tmp%\tmp2.txt" ^|Find "2"') Do (set MyUSBDrive=%%i && xcopy !MyUSBDrive! !TargetFolder! /Y /D /S /I /C /F)
Del %Tmp%\tmp.txt & Del %Tmp%\tmp2.txt
pause





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
_

hello tous

regarde ce que ça donne Hoo en remplaçant ton bout de code

Code:
set MyUSBDrive=%%b && XCopy !MyUSBDrive! !TargetFolder! /S /I /C


par

Code:
XCopy %%b\* !TargetFolder!\ /sic


ce qui est important ici c'est les marqueurs de dossiers "\" et le marqueur de contenu "*" c'est à dire tous les fichiers.

en fait la notation "x:" dénote un volume, alors que "x:\" est un répertoire racine et "x:\*" est le contenu du répertoire racine.



Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
Comme ça Hoo :

Pas besoin de passer par des fichiers temporaire, je crois que c'est au moins déjà 3éme fois. que je te le dis.

Code:
@Echo Off
Setlocal ENABLEDELAYEDEXPANSION
Set TargetFolder=C:\Testcopie
For /F "skip=1" %%b IN ('wmic logicaldisk get DeviceID^,DriveType ^|find "2"') DO (
Set MyUSBDrive=%%b
echo XCopy "!MyUSBDrive!" "!TargetFolder!" /E /I /C)
pause


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
Salut les amis Wink Okay
@Temp ==> Ta solution marche nickel 5/5 Merci bien Okay
@Sacha ==> avec ton code il me sort une seule lettre qui est la dernière dans la boucle or moi je veux toutes les lettres ? ? Tu voix ce que je veux dire ?
Voilà j'ai testé la proposition de temp et ça marche maintenant impeccable Okay

Code:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set TargetFolder=E:\TempcopieTest
REM on normalise l'affichage
wmic LOGICALDISK where driveType=2 get deviceID > wmic.txt
for /f "skip=1" %%b IN ('type wmic.txt') DO (
XCopy %%b\* !TargetFolder!\ /sic)
pause





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
Alors plus qu'à mettre en [RESOLU] !




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message [RESOLU] Xcopy dans une boucle for 
Citation:
@Sacha ==> avec ton code il me sort une seule lettre qui est la dernière dans la boucle or moi je veux toutes les lettres ? ? Tu voix ce que je veux dire ?


????????

Je pense que tu n'as pas testé le code. Car il te sort bien toutes les lettres :

Citation:

C:\Users\CN Micros\Desktop\PROGRAMMATION>sacha
XCopy "G:" "C:\Testcopie" /E /I /C
XCopy "H:" "C:\Testcopie" /E /I /C
XCopy "I:" "C:\Testcopie" /E /I /C
XCopy "J:" "C:\Testcopie" /E /I /C
Pressione qualquer tecla para continuar. . .


Supprime ce fichier temporaraire STP.....

Shocked




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message [RESOLU] Xcopy dans une boucle for 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch