Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 2 sur 2
Aller à la page: <  1, 2
[R] Aide rangement automatique de fichiers
Auteur Message
Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Revue du message précédent :

Bonjour,

Les %n sont les arguments de l'appel de fonction, donc %2 renverra "SPARTACUS S0".

Le ~ sert effectivement à supprimer les guillemets pour ne pas interférer avec les commandes fonctionnelles, donc %~2 renverra: SPARTACUS S0.

Pour ce qui est du dernier argument (%5), c'est le nombre de saisons que tu peut modifier selon ta série. Donc ici tu stipule qu'il y a dix saisons ce qui permet de faire la recherche de SPARTACUS S01 à SPARTACUS S010.

Pour ce qui est des deux FOR au départ, c'est bien pour trouver le chemin des dossiers DOWNLOAD et VIDEO par le registre, de façon à pouvoir l'utiliser sur n'importe-quelle machine.


Non ça ne m'a pas gêné du-tout d'autant plus que ça ne m'a pas pris excessivement de temps et que je suis là pour ça Okay


Bonne continuation et si tu as besoin n'hésite pas

Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Merci bien Hugo7, je vais lire ça.

Et merci aussi Logan, du coup pour
Code:
FOR /L %%N IN (1,1,%5)
C'est toujours obligé de mettre le % devant X ?

Et aussi là je crois pas que tu es répondu (pardon si j'ai pas vu) :
Code:
CALL:FCT1 "%TELECHARGEMENTS%" "SPARTACUS S0" "%VIDEOS%\Séries" "Spartacus" 10
Le '10' à la fin, je vois pas à quoi il sert.

Sinon pour le reste c'est bon, je suis entrain de faire une Fct2 pour les saison 10 et + car comme ça s'appelle "Spartacus S10" et pas "Spartacus S010" je suis obligé. Mais ça va j'ai juste à copier la tienne et changer 2,3 trucs Very Happy



Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Si je t'ais répondu, le 10 c'est le nombre de saisons de ta série.

Pour ce qui est des %, oui il faut les laisser. T'as juste a modifier les CALL, la fonction pas touche Mr. Green




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Aaaah okay Razz

Bon par contre un truc que j'ai toujours pas compris (frappez moi)

Code:
FOR /L %%N IN (1,1,%5)
Tu m'as bien dit qu'ici %5 c'est le nombre de saisons. Donc il est censé faire 1,2,3,4,5 et stop. Pourquoi il va jusqu'à 10 alors même sans le changer ?


Et sinon si je vais devoir toucher à ta fonction Razz Enfin du moins en faire une deuxième, car la fonction peut aller jusqu'à S09 max. Après S09 mes épisodes s'appellent S10, pas S010. Même si ils ne s’appelaient S010 ça ne marcherait pas vu qu'il va comprendre 'S01'0. Tu vois ce que je veux dire ?

Du coup je vais faire un truc du genre :
Code:
FOR /L %%N IN (10,1,%5)
pour faire en sorte qu'il cherche aussi les fichiers 'S%%' sachant que %% = entre 10 et 99


Dit moi si tu ne comprends pas ce que j'ai dit pour la fonction 2, c'est pas très clair à l'écrit Rolling Eyes

EDIT : Ah bah j'ai réussi haha !

Code:
@ECHO OFF
FOR /F "TOKENS=3,*" %%I IN ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELL FOLDERS" ^| FIND /I "MY VIDEO"') DO SET VIDEOS=%%J
FOR /F "TOKENS=2,*" %%I IN ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELL FOLDERS" ^| FIND /I "{374DE290-123F-4565-9164-39C4925E467B}"') DO SET TELECHARGEMENTS=%%J


CALL:FCT1 "%TELECHARGEMENTS%" "SPARTACUS S0" "%VIDEOS%\Séries" "Spartacus" 9
CALL:FCT2 "%TELECHARGEMENTS%" "SPARTACUS S" "%VIDEOS%\Séries" "Spartacus" 20

GOTO:EOF

:FCT1
FOR /L %%N IN (1,1,%5) DO (
   FOR /F "TOKENS=*" %%F IN ('DIR /B "%~1" ^| FIND /I "%~2%%N"') DO (
      IF NOT EXIST "%~3\%~4\Saison %%N" MD "%~3" "%~3\%~4" "%~3\%~4\Saison %%N" 2> nul
      MOVE "%~1\%%~F" "%~3\%~4\Saison %%N"
   )
)
:FCT2
FOR /L %%X IN (10,1,%5) DO (
   FOR /F "TOKENS=*" %%T IN ('DIR /B "%~1" ^| FIND /I "%~2%%X"') DO (
      IF NOT EXIST "%~3\%~4\Saison %%X" MD "%~3" "%~3\%~4" "%~3\%~4\Saison %%X" 2> nul
      MOVE "%~1\%%~T" "%~3\%~4\Saison %%X"
   )
)
pause
ça ne change pas que je n'ai pas compris la phrase en rouge plus haut Mort de Rire



Répondre en citant
Message [R] Aide rangement automatique de fichiers 
En fait %5 c'est une variable qui est définie grâce au CALL et à son 5ème argument.

Donc ici %5 c'est
CALL:FCT1 "%TELECHARGEMENTS%" "SPARTACUS S0" "%VIDEOS%\Séries" "Spartacus" 9


EDIT: On peut incrémenter tout ça dans la fonction, mais ça rendrais le traitement plus lourd



Dernière édition par Logan le Dim 31 Jan 2016 - 18:33; édité 3 fois

______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Aide rangement automatique de fichiers 
C'est pas grave t’embête pas, ça me dérange pas 2 fonctions Wink



Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Hello,

Du coup après mûre réflexion avec notre Sachadounet ( Mr. Green ) On a un script fonctionnel

Si tu veux le comprendre c'est simple, il fait comme l'autre avec le traitement inverse, donc le
compteur est inversé ce qui permet de ne pas être dérangé par les N<10

Code:
@ECHO On
SETLOCAL ENABLEDELAYEDEXPANSION

FOR /F "TOKENS=3,*" %%I IN ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELL FOLDERS" ^| FIND /I "MY VIDEO"') DO SET VIDEOS=%%J
FOR /F "TOKENS=2,*" %%I IN ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELL FOLDERS" ^| FIND /I "{374DE290-123F-4565-9164-39C4925E467B}"') DO SET TELECHARGEMENTS=%%J


CALL:FCT "%TELECHARGEMENTS%" "SPARTACUS S0" "%VIDEOS%\SERIES" "SPARTACUS" 52

GOTO:EOF




:FCT
SET X=%~2
IF %5 GTR 9 SET X=!X:~0,-1!
FOR /L %%N IN (%5,-1,1) DO (
   FOR /F "TOKENS=*" %%F IN ('DIR /B "%~1" ^| FIND /I "!X!%%N"') DO (
      IF NOT EXIST "%~3\%~4\SAISON %%N" MKDIR "%~3\%~4\SAISON %%N"
      MOVE "%~1\%%~F" "%~3\%~4\SAISON %%N"
   ) 
)>NUL





______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Plop,

Héhé ça marche parfaitement bien, vous avez assurez ! Very Happy

Juste une chose, c'est obligé de voir toutes les commandes qui s’exécutent quand j'ouvre le .bat où y a moyen de les cacher ?



Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Oui pardon, suffit de remplacer @echo on par OFF

Code:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
 
FOR /F "TOKENS=3,*" %%I IN ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELL FOLDERS" ^| FIND /I "MY VIDEO"') DO SET VIDEOS=%%J
FOR /F "TOKENS=2,*" %%I IN ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELL FOLDERS" ^| FIND /I "{374DE290-123F-4565-9164-39C4925E467B}"') DO SET TELECHARGEMENTS=%%J
 
 
CALL:FCT "%TELECHARGEMENTS%" "SPARTACUS S0" "%VIDEOS%\SERIES" "SPARTACUS" 52
 
GOTO:EOF
 
 
 
 
:FCT
SET X=%~2
IF %5 GTR 9 SET X=!X:~0,-1!
FOR /L %%N IN (%5,-1,1) DO (
   FOR /F "TOKENS=*" %%F IN ('DIR /B "%~1" ^| FIND /I "!X!%%N"') DO (
      IF NOT EXIST "%~3\%~4\SAISON %%N" MKDIR "%~3\%~4\SAISON %%N"
      MOVE "%~1\%%~F" "%~3\%~4\SAISON %%N"
   ) 
)>NUL





______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Aide rangement automatique de fichiers 
Parfait !

Gros merci pour votre aide, je crois que c'est tout bon. Si j'ai encore besoin d'aide je reviens Smile



Message [R] Aide rangement automatique de fichiers 


Montrer les messages depuis:
Répondre au sujet Page 2 sur 2
Aller à la page: <  1, 2
  



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