#1 Thu 30 September 2010 13:00
- Jean-Jacques
- Participant actif
- Lieu: Aurillac
- Date d'inscription: 4 Jan 2006
- Messages: 99
MapBasic et DOS
Bonjour
J'ai cette ligne de commande MapBasic qui coince.
Run Program "command.com /c copy ""Q:\CADASTRE\BD_PARCELLAIRE\BD_PARC_DALLES\"" + NomFichier +"".tif"" > nom_repertoire""
Sans doute un problème quote, mais où?
Le but est de copier, lors d'une boucle, un fichier d'un répertoire vers un autre.
Ex : NomFichier = "BDP_08_.......L93"
nom_repertoire = "D:\....\.."
D'avance merci
Jean-Jacques
DDT15
Jean-Jacques
DDT15
Hors ligne
#2 Thu 30 September 2010 13:45
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: MapBasic et DOS
Bonjour
- passer par une commande interprétée
cmd="Run Prpgram......"+chr$(34)+variable+chr$(34)" blabal...."
print cmd (pour vérifier)
run command cmd
nb: suivant les ages (des OS, pas des artères ) on utilise cmd.exe qui a remplacé le vieux command.com
Hors ligne
#3 Fri 01 October 2010 08:03
- Jean-Jacques
- Participant actif
- Lieu: Aurillac
- Date d'inscription: 4 Jan 2006
- Messages: 99
Re: MapBasic et DOS
Merci Maurice,
mais je coince toujours. Le print cmd a l'air correct mais la commande run renvoie :
variable ou champ cmd.exe non défini
Voilà mes lignes après les modifs :
Fetch First from ListeBDP
Do While Not EOT (ListeBDP)
NomFichier = ListeBDP.col(1)
Print NomFichier
cmd = "Run Program cmd.exe /c copy Q:\CADASTRE\BD_PARCELLAIRE\BD_PARC_DALLES\"+ NomFichier + ".tab "+ nom_repertoire
Print cmd
Run command cmd
cmd = "Run Program cmd.exe /c copy Q:\CADASTRE\BD_PARCELLAIRE\BD_PARC_DALLES\"+ NomFichier + ".tif "+ nom_repertoire
Print cmd
Run command cmd
Fetch Next From ListeBDP
Loop
Jean-Jacques
DDT15
Jean-Jacques
DDT15
Hors ligne
#4 Fri 01 October 2010 10:03
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: MapBasic et DOS
Bonjour
Comme le montre l'aide en ligne de MapBasic, il te manque des guillemets
cmd = "Run Program "+chr$(34)+cmd.exe /c copy Q:\CADASTRE\BD_PARCELLAIRE\BD_PARC_DALLES\"+ NomFichier + ".tab "+ nom_repertoire+chr$(34)
Hors ligne
#5 Mon 04 October 2010 09:07
- Jean-Jacques
- Participant actif
- Lieu: Aurillac
- Date d'inscription: 4 Jan 2006
- Messages: 99
Re: MapBasic et DOS
Bonjour et merci Maurice
Avec cette ligne de commande:
soit le programme se compile et ,à l'éxécution dans le print il manque une quote et il plante.
soit je rajoute une quote et il ne compile plus.
Je vois pas l'erreur.
Après bien des tâtonnements ce matin, avec la tête un peu plus reposée, voilà les lignes qui fonctionnent (pourquoi ?????)
J'ai remplacé la variable cmd par cmde au cas où il se mélange les crayons.
cmde = "cmd.exe /c copy"+ " Q:\CADASTRE\BD_PARCELLAIRE\BD_PARC_DALLES\"+ NomFichier + ".tab "+ nom_repertoire+chr$(34)
print cmde
Run Program cmde
Merci encore
Jean-Jacques
DDT15
Jean-Jacques
DDT15
Hors ligne