[BATCH] batch fichier/dossier/mysql
Résolu
korbenz
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
korbenz Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
korbenz Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Cela fais bien lontemps que je n'ai pas fais appel a vos connaissances mais cela fais 2 jours que je cherche des solutions et je ne trouve rien, c'est pourquoi je demande votre aide et je vous en remercie par avance
je vous explique ma situation.
j'ai un lecteur reseau P: avec de nombreux dossiers dedans. Chaque dossier de P: ne doit que contenir des fichiers .txt et .tiff sans sous dossiers. (exemple : P:\CCM\1.txt ou encore P:\CCM\1.tiff)
la premiere chose que je dois tester, est qu'il n'existe pas de sous dossier dans un dossier de P, si toutefois il peut en avoir, cela pourrai etre soit un sous dossier nomme txt ou tiff c'est a dire eviter ceci P:\CCM\txt\2.txt ou encore P:\CCM\tiff\2.txt.(le resultat peut etre renvoyer vers un fochier txt par exemple)
(idealement ensuite mais ceci est optionel, si sous dossier il y a, jaimerai deplacer le contenu du sous dossier vers leur dossier parent c'est a dire dans l'exemple ci dessous deplacer les fichiers 2.txt et 2.tiff dans le repertoire P:\CCM )
la seconde etape, et la plus importante, est d'extraire le nom du (des) dossier(s) parent(s), dans le cas present CCM, est le mettre en variable, qu'on va nomme user par exemple.
La troisieme etape me conduit a faire une requete mysql qui me retourne un resultat (une adresse email) avec la variable user en parametre
la derniere etape est d'envvoyer un email a ladresse que MySQL ma donne precedemment via outlook 2003
Pour recapituler:
- test sous dossier lecteur P
- deplacement fichiers du sous dossier vers son dossier parent
- extraction du nom du dossier a mettre dans variable user
- requete MySQL avec variable user en parametre
- envoi email
jai esasyer de faire une ebauche de batch ci dessous mais je suis tres vite bloque alors si vous pouvais maider...
@echo off
rem --------------------------------
rem ici test de lexistance dun dossier txt (si oui = sous dossier)
rem---------------------------------
P:
dir txt /s /b > c:\temp\checkPSubFolder.txt
rem -- la commande me renvoi ceci par exemple
rem -- P:\CCM\txt\
rem -- P:\CCM3\txt\
rem -- P:\CCM4\txt\
rem --------------------------------
rem extraction nom user
rem---------------------------------
set user=
set /P user= < c:\temp\checkPSubFolder.txt
SET user=%user:P:\=%
SET user=%user:\txt=%
ECHO %user%
rem -- dans le cas present, je retire de la ligne les caracteres 'P:\' et'\txt' qui mne retourne que le nom du dossier rem -- mais seule la premiere ligne est lue et pas le reste, et comment faire si il y a autre chose que txt comment
rem -- faire pour lire le reste, boucle FOR?
rem ----------
rem MySQL ( a completer/verifier)
rem------------
rem connexion a bdd MySQL
select blaba from blabla where user=%user%
rem ----------
rem EmaiL (mapisend or mailto:)
rem------------
rem outklook renvoi : a program is trying to automatically send e-mail on your behalf / a verifier
mapisend -u profile-p pass -r destinatatire -s sujet -m ceci est un mail automatique
START mailto:helpdesk@ourdomain.com?subject=balbal&body=balbla
exit
je pense que ce batch est tres mal construit, si vous avez une autre solution n'hesitez pas.
voila si vous pouvais maider pour une partie ou une autre, j'en serai tres reconnaissant
merci a vous
Cela fais bien lontemps que je n'ai pas fais appel a vos connaissances mais cela fais 2 jours que je cherche des solutions et je ne trouve rien, c'est pourquoi je demande votre aide et je vous en remercie par avance
je vous explique ma situation.
j'ai un lecteur reseau P: avec de nombreux dossiers dedans. Chaque dossier de P: ne doit que contenir des fichiers .txt et .tiff sans sous dossiers. (exemple : P:\CCM\1.txt ou encore P:\CCM\1.tiff)
la premiere chose que je dois tester, est qu'il n'existe pas de sous dossier dans un dossier de P, si toutefois il peut en avoir, cela pourrai etre soit un sous dossier nomme txt ou tiff c'est a dire eviter ceci P:\CCM\txt\2.txt ou encore P:\CCM\tiff\2.txt.(le resultat peut etre renvoyer vers un fochier txt par exemple)
(idealement ensuite mais ceci est optionel, si sous dossier il y a, jaimerai deplacer le contenu du sous dossier vers leur dossier parent c'est a dire dans l'exemple ci dessous deplacer les fichiers 2.txt et 2.tiff dans le repertoire P:\CCM )
la seconde etape, et la plus importante, est d'extraire le nom du (des) dossier(s) parent(s), dans le cas present CCM, est le mettre en variable, qu'on va nomme user par exemple.
La troisieme etape me conduit a faire une requete mysql qui me retourne un resultat (une adresse email) avec la variable user en parametre
la derniere etape est d'envvoyer un email a ladresse que MySQL ma donne precedemment via outlook 2003
Pour recapituler:
- test sous dossier lecteur P
- deplacement fichiers du sous dossier vers son dossier parent
- extraction du nom du dossier a mettre dans variable user
- requete MySQL avec variable user en parametre
- envoi email
jai esasyer de faire une ebauche de batch ci dessous mais je suis tres vite bloque alors si vous pouvais maider...
@echo off
rem --------------------------------
rem ici test de lexistance dun dossier txt (si oui = sous dossier)
rem---------------------------------
P:
dir txt /s /b > c:\temp\checkPSubFolder.txt
rem -- la commande me renvoi ceci par exemple
rem -- P:\CCM\txt\
rem -- P:\CCM3\txt\
rem -- P:\CCM4\txt\
rem --------------------------------
rem extraction nom user
rem---------------------------------
set user=
set /P user= < c:\temp\checkPSubFolder.txt
SET user=%user:P:\=%
SET user=%user:\txt=%
ECHO %user%
rem -- dans le cas present, je retire de la ligne les caracteres 'P:\' et'\txt' qui mne retourne que le nom du dossier rem -- mais seule la premiere ligne est lue et pas le reste, et comment faire si il y a autre chose que txt comment
rem -- faire pour lire le reste, boucle FOR?
rem ----------
rem MySQL ( a completer/verifier)
rem------------
rem connexion a bdd MySQL
select blaba from blabla where user=%user%
rem ----------
rem EmaiL (mapisend or mailto:)
rem------------
rem outklook renvoi : a program is trying to automatically send e-mail on your behalf / a verifier
mapisend -u profile-p pass -r destinatatire -s sujet -m ceci est un mail automatique
START mailto:helpdesk@ourdomain.com?subject=balbal&body=balbla
exit
je pense que ce batch est tres mal construit, si vous avez une autre solution n'hesitez pas.
voila si vous pouvais maider pour une partie ou une autre, j'en serai tres reconnaissant
merci a vous
A voir également:
- [BATCH] batch fichier/dossier/mysql
- Fichier batch - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Dossier appdata - Guide