Parameterübergabe an eine Batch funktioniert nicht.

Für allgemeine Fragen zur Programmierung mit PureBasic.
funkheld
Beiträge: 651
Registriert: 31.12.2009 11:58

Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von funkheld »

Hallo, guten Tag.
Meine Übergabe von einem Programmnamen funktioniert nicht:
name$="test"
RunProgram("d:\atari\atasm-obj.bat",name)

Das ist die Batch:
d:\atari\atasm d:\atari\asm\ %1

Mit einer anderen Textide funkioniert es, nur hier nicht.

Was ist falsch?

danke.

gruss
Benutzeravatar
helpy
Beiträge: 636
Registriert: 29.08.2004 13:29

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von helpy »

Hallo!

Was bedeutet "funktioniert nicht"? ... Wie wäre es mit einer genauen Fehlerbeschreibung!
funkheld hat geschrieben:Mit einer anderen Textide funkioniert es, nur hier nicht.
Was ist eine "Textide"?

Ich habe folgendes versucht:

Batch-Datei batch.cmd:

Code: Alles auswählen

@echo off
echo.

echo Parameter:

:Loop
echo   + %~1
shift
if "%~1" NEQ "" goto :Loop

echo.
echo.
pause
PureBasic-Datei call_batch.pb (im selben Verzeichnis wie batch.cmd):

Code: Alles auswählen

EnableExplicit

Define Arguments.s

Arguments = "test"
Arguments + " Argument-2"
Arguments + " " + #DQUOTE$ + "Argument 3 mit Leerzeichen" + #DQUOTE$
Arguments + " arg4"

RunProgram( #PB_Compiler_FilePath + "batch.cmd", Arguments, "", #PB_Program_Wait )
Ergebnis: Batch-Datei wird gestartet und das Programm wartet, auf das Ende der Batch-Datei.

Ausgabe der Batch-Datei:

Code: Alles auswählen

Parameter:
  + test
  + Argument-2
  + Argument 3 mit Leerzeichen
  + arg4


Drücken Sie eine beliebige Taste . . .
Nach dem Drücken einer beliebigen Taste wird Batch-Datei und auch das Programm beendet!

lg,
guido
Windows 10
PB Last Final / (Sometimes testing Beta versions)
funkheld
Beiträge: 651
Registriert: 31.12.2009 11:58

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von funkheld »

name$="test"
RunProgram("d:\atari\atasm-obj.bat",name)
Der name "test" wurde nicht übergeben an die batch.

danke.

gruss
Benutzeravatar
Rings
Beiträge: 978
Registriert: 29.08.2004 08:48

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von Rings »

funkheld hat geschrieben:
name$="test"
RunProgram("d:\atari\atasm-obj.bat",name)
Der name "test" wurde nicht übergeben an die batch.

danke.

gruss
name$ oder name ??????
Rings hat geschrieben:ziert sich nich beim zitieren
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von shadow »

bist nicht der erste mit so einem fehler :roll:

Code: Alles auswählen

EnableExplicit
hilft dir solche Problemchen zu vermeiden ...
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
helpy
Beiträge: 636
Registriert: 29.08.2004 13:29

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von helpy »

Rings hat geschrieben:name$ oder name ??????
Da ich "$" für String-Variablen NIE verwende, übersehe ich solche Tippfehler ;-)
Windows 10
PB Last Final / (Sometimes testing Beta versions)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von ts-soft »

helpy hat geschrieben:Da ich "$" für String-Variablen NIE verwende, übersehe ich solche Tippfehler ;-)
Da ich grundsätzlich EnableExplicit nutze kann mir so was dummes nicht passieren :mrgreen:

Aber manch einer denkt, er wird zum "Mann" wenn er solche Hinweise ignoriert, wie arm kann diese Welt doch sein
(ist jetzt allgemein und nicht persönlich gemeint).

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
helpy
Beiträge: 636
Registriert: 29.08.2004 13:29

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von helpy »

ts-soft hat geschrieben:
helpy hat geschrieben:Da ich "$" für String-Variablen NIE verwende, übersehe ich solche Tippfehler ;-)
Da ich grundsätzlich EnableExplicit nutze kann mir so was dummes nicht passieren :mrgreen:

Aber manch einer denkt, er wird zum "Mann" wenn er solche Hinweise ignoriert, wie arm kann diese Welt doch sein
(ist jetzt allgemein und nicht persönlich gemeint).
;-) Habe ich nicht persönlich genommen, da ich ja auch immer EnableExplicit verwende!

lg,
guido

PS: ... gegen "StringVar$" habe ich persönliche eine Abneigung!
Windows 10
PB Last Final / (Sometimes testing Beta versions)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von ts-soft »

helpy hat geschrieben:PS: ... gegen "StringVar$" habe ich persönliche eine Abneigung!
Ich auch, sieht so "Altbacken" aus :bounce:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Parameterübergabe an eine Batch funktioniert nicht.

Beitrag von Danilo »

Ich erinnere mich das

Code: Alles auswählen

RunProgram(Filename$, Parameter$)
manchmal nicht funktionierte.

Dann änderte ich es in

Code: Alles auswählen

RunProgram(Filename$ +" "+ Parameter$)
und es lief richtig. Nur so als Tipp zum probieren, wenn es mal nicht läuft wie man möchte.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten