#1 Wed 01 December 2010 10:15
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
[APIC] Répertoire windows
Aloha
J'ai un asl dans lequel je dois vérifier qu'un répertoire/une arborescence windows existe bien pour permettre la génération de fichier en son sein. Quelqu'un sait-il s'il est possible de vérifier qu'un répertoire existe et comment le créer en asl ? Si besoin, je peux toujours intégrer du code dans un batch.
Cordialement,
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#2 Wed 01 December 2010 10:55
- JC
- Membre
- Lieu: Les Clayes sous Bois
- Date d'inscription: 31 Jul 2007
- Messages: 332
Re: [APIC] Répertoire windows
Hello Pierre,
L'opérateur FichierExiste? est là pour ça... JC
Association GeoRezo.net
Hors ligne
#3 Wed 01 December 2010 11:04
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: [APIC] Répertoire windows
Bah je suis pas sur justement. FichierExiste? m'a l'air d'être dédié aux fichiers, non aux répertoires. Je suis en train de contourner via du batch...
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#4 Wed 01 December 2010 11:54
- Albert STEPHAN
- Juste Inscrit !
- Date d'inscription: 6 Dec 2006
- Messages: 4
Re: [APIC] Répertoire windows
Essayer une commande du style Ecrire (FichierExiste? "C:\Program Files\Microsoft Office\.") et cela renvoie Vrai
et Ecrire (FichierExiste? "C:\Program Files\KKsoft Office\.") qui renvoie Faux
Hors ligne
#5 Wed 01 December 2010 12:01
- JC
- Membre
- Lieu: Les Clayes sous Bois
- Date d'inscription: 31 Jul 2007
- Messages: 332
Re: [APIC] Répertoire windows
Bah je suis pas sur justement. FichierExiste? m'a l'air d'être dédié aux fichiers, non aux répertoires.
Il fonctionne pour les deux, Pierre... Et c'est quelqu'un qui s'en sert tous les jours qui te le dit. Juste faire attention aux noms longs qui nécessitent d'être encadrés de guillemets comme suggéré par Albert.
Pour ma part, j'utilise la syntaxe suivante avec les répertoires : FichierExiste? "<nom du répertoire>"
Ce qui donne :
Code:
Ecrire FichierExiste? "C:\Program Files\Microsoft Office"
dans l'exemple d'Albert... JC
Association GeoRezo.net
Hors ligne
#6 Wed 01 December 2010 14:03
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: [APIC] Répertoire windows
Dont acte pour la vérif de la condition d'existence. Maintenant, comment je fais pour le créer, parce que :
Code:
Quand (Non FichierExiste? "C:\4390\") [FichierOuvrir "C:\4390\" "a"]
Ca ne crée pas de répertoire 4390...
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#7 Wed 01 December 2010 14:35
- iznogoud83
- Participant occasionnel
- Date d'inscription: 4 Sep 2006
- Messages: 12
Re: [APIC] Répertoire windows
En passant par une commande Ms-Dos si votre environnement le permet
Code:
Donner [rep] "c:\titi\" Donner [commande] TexteFormat ("if not exist %c%s%c md %c%s%c",Caractere 34,rep,Caractere 34,Caractere 34,rep,Caractere 34) PourChaque [mes] AppelSystemeFlot commande [Ecrire mes]
Hors ligne
#8 Wed 01 December 2010 14:59
- Albert STEPHAN
- Juste Inscrit !
- Date d'inscription: 6 Dec 2006
- Messages: 4
Re: [APIC] Répertoire windows
/* là if faut faire un appel système */
Quand (Non FichierExiste? "C:\4390\") [ AppelSystemeFlot ("mkdir C:\4390\") ]
Hors ligne
#9 Wed 01 December 2010 16:03
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: [APIC] Répertoire windows
Ok.
Donc j'ajoute ceci dans mon code
Code:
Quand (TxtComparer(TxtFlotChaine (REIMS_CPD_PDF, "\",0),"..") == 0) [TxtCopier Armoire TxtFlotChaine (REIMS_CPD_PDF, "\",2) TxtAjouter Armoire "\" TxtAjouter Armoire TxtFlotChaine (REIMS_CPD_PDF, "\",3) FichierEcrireFormat(DstFile, "CMD /C set rep=%cM:\\%s%c\n", Caractere 34,Armoire,Caractere 34) Ecrire "ligne1 ok" FichierEcrireFormat(DstFile, "CMD /C IF NOT EXIST %crep%c md %crep%c\n",Caractere 37,Caractere 37,Caractere 37,Caractere 37) Ecrire "ligne2 ok" ]
Pour ajouter à DstFile, défini ci dessous, les lignes permettant de créer le répertoire mais seulement si REIMS_CPD_PDF commence par "..\ ", ce qui est le cas où j'ai besoin de vérifier l'arborescence. Mais cela fait planter mon asl brusquement (arrêt du traitement sans plus d'explications).
En fait j'ai 2 cas de figures. Si l'utilisateur souhaite tracé dans son répertoire utilisateur, REIMS_CPD_PDF sera égal au répertoire courant dans lequel est écrit le fichier DstFile. S'il souhaite alimenter une armoire à plan, le fichier DstFile est écrit à la racine de l'arborescence, et le répertoire dans lequel écrire les fichiers est donné par les deux premiers membres de la chaîne REIMS_CPD_PDF.
Code:
Donner [DstFile] FichierOuvrir "APIC2PDF.BAT" "a"
Une idée ?
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne