banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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 smile) 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

 

Pied de page des forums

Powered by FluxBB