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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SET

n°1556692
philou192
Posté le 07-05-2007 à 20:03:11  profilanswer
 

Je bloque vraiment avec mon programme.
Je désire déplacer des fichiers de plusieurs dossiers en les comparant au contenu d'un dossier ( D:\Referenz\PQFP100\ )
 
 
SET B=91
tantque
For %%i in ("D:\Referenz\KL-%B%\"*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i "D:\KL-%B%\PQFP100\" )
For %%i in ("D:\Referenz\KL-%B%\"*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i "D:\KL-%B%\PQFP100\" )
 
SET B = 1 + %B%
IF %B% LSS 92 GOTO tantque
pause
 
Une petite aide me serait utile , merci

mood
Publicité
Posté le 07-05-2007 à 20:03:11  profilanswer
 

n°1556696
philou192
Posté le 07-05-2007 à 20:17:55  profilanswer
 

Je viens de rectifier mes lignes de commande, mais mon prog ne fonctionne tjrs pas ...
SET B = 91
 
tantque
 
For %%i in ("D:\Referenz\KL-%%B\"*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i "D:\KL-%%B\PQFP100\" )
For %%i in ("D:\Referenz\KL-%%B\"*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i "D:\KL-%%B\PQFP100\" )
 
SET %%B = 1 + %B%
IF %B% LSS 92 GOTO tantque
pause

n°1556701
philou192
Posté le 07-05-2007 à 20:38:06  profilanswer
 

Suis je sur la bonne voix ?
 
SET B = 91
 :start
 For %%i in (D:\Referenz\%%B\*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i D:\%%B\PQFP100\)
For %%i in (D:\Referenz\%%B\*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i D:\%%B\PQFP100\)
 
SET %%B = 1 + %B%
IF %B% LSS 92 GOTO start
pause

n°1556763
wackevat
Posté le 08-05-2007 à 05:45:43  profilanswer
 

C'est aussi une facon de faire.
 
Neanmoins, ta syntaxe de set n'est pas bonne.
 
Ce sera plutot  
set /a b=%b%+1
 
ou encore
set /a b+=1
 
Attention, il faut utiliser %b% et non pas %%b.
 
b = une variable
%b% = la valeur de la variable b
%%i = l'indice d'une boucle (%i si directement a la ligne de commande)
 
Sinon, tes deux boucles for sont les memes ou je me trompe ? ;)

n°1556923
philou192
Posté le 08-05-2007 à 18:06:59  profilanswer
 

J'ai suivi tes conseils très précieux, mais j'ai encore un petit problème. Peux tu juste constater mes instructions pour voir si mon erreur est flagrande ? En tous cas, merci de prendre de ton temps pour m'aider.
 
set b=91
:start
For %%i in (D:\Referenz\KL-%B%\*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i D:\KL-%B%\PQFP100\)
For %%i in (D:\Referenz\KL-%B%\*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i D:\KL-%B%\PQFP100\)
 
set /a b+=1
IF %B% LSS 92 GOTO start

n°1556957
armyman
Posté le 08-05-2007 à 19:16:58  profilanswer
 

Essaye ca:
 

Code :
  1. SET b=91
  2. :START
  3.     FOR %%i IN (D:\Referenz\KL-%b%\*.*) DO IF EXIST "D:\Referenz\PQFP100\"%%~nxi MOVE /Y %%i D:\KL-%b%\PQFP100\ & SET /A b+=1
  4.     GOTO:CHECK
  5. :CHECK
  6.     IF %b% LSS 92 GOTO:START


 
Mais je comprend pas trop ce que tu veux faire.


Message édité par armyman le 08-05-2007 à 19:17:28
n°1556978
philou192
Posté le 08-05-2007 à 20:26:08  profilanswer
 

Voici mon probleme:
J'ai un dossier contenant des fichiers models
D:\Referenz\PQFP100\
Je veux déplacer les fichiers se trouvant dans le dossier
D:\Referenz\KL-82\*.*
en les comparant au dossier D:\Referenz\PQFP100\ dans
D:\KL-82\PQFP100\
ça a l'air simple, mais le probleme, c'est que je veux faire ceci
avec 50 dossiers différents ( KL-82 , KL-83 , KL-84 etc ... )
 
Bien sûr, je parviens à ce résultat en écrivant 50 lignes de commande du genre :
For %%i in (D:\Referenz\KL-82\*.*) do (if exist "D:\Referenz\PQFP100\"%%~nxi move /y %%i D:\KL-82\PQFP100\)
Mais je suis persuadé qu'il y a un moyen plus simple.
J'ai essayé ton prog, mais ça ne fonctionne pas et je ne vois pas où se situe le problème.   Merci pour ton aide en attendant

n°1556987
philou192
Posté le 08-05-2007 à 20:39:57  profilanswer
 

Problème résolu
Merci beaucoup à armyman et à nglechau.
Voici donc le code qui fonctionne grâce à vous :
SET b=82
:START
FOR %%i IN (D:\Referenz\KL-%b%\*.*) DO IF EXIST "D:\Referenz\PQFP100\"%%~nxi MOVE /Y %%i D:\KL-%b%\PQFP100\
SET /A b+=1    
 
IF %b% LSS 132 GOTO:START
 
Philou


Aller à :
Ajouter une réponse
 

Sujets relatifs
[POO] Restreindre Get et Set à certaines valeurs ?WIFI : Set SSID in C++
Utiliser SET mais avec une liste (SET IN etc...)utilisation lib <Set>
Limiter le choix de SET a quelques caracteres[MySQL & PHP] Obtenir les valeurs que peut prendre un champs SET
Set ProcessID avec WMI ?Comportement des Set... pas compris...
ini_setset_time_limit et include...???
Plus de sujets relatifs à : SET


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