GLBasic forum

Other languages => GLBasic - de => Topic started by: D2O on 2009-May-04

Title: Parameter?bergabe ?ber Batchdatei geht nicht so :(
Post by: D2O on 2009-May-04
Hi,

ich bin dabei mal wieder ein kleines Tool f?r einen bekannten zu schreiben.
Dabei wird der angegebene Pfad aufgelesen "Getfilelist()" und in eine Datei geschrieben.
Soweit so gut, Standartm?sig wird der Pfad in dem die EXE ist genommen, nun soll die Exe aber auch
mit Parameter(pfadangabe) gestartet werden k?nnen.

Gebe ich in der IDE unter Projekt->Optionen, m:\spiele, an, wird dieser pfad korrekt ausgelesen.
Starte ich das ganze ?ber ein Verkn?pfung mit diesem Parameter, geht das nicht.
Es wird wieder der Exe pfad ausgelesen:(

Nun m?chte ich das ganze auch noch per batchdatei starten, auch das geht nicht:(
Mache ich hier bei der Parameter ?bergabe was falsch?

Hier mal die Batchdatei wie ich sie bis jetzt habe.
Code (glbasic) Select

@echo off
START Dir_Check.exe c:\
WAIT
START Dir_Check.exe m:\Spiele\


Und etwas Grund-Code der das Ausf?hren sollte:
Code (glbasic) Select


GLOBAL homepath$
GLOBAL path$
GLOBAL file$[]
GLOBAL listnum%
GLOBAL i%
GLOBAL cur$


homepath$ = GETCURRENTDIR$()
STDOUT homepath$+"\n"


path$ = GETCOMMANDLINE$()

      STDOUT path$+"\n"


IF path$ <> ""

path$ = REPLACE$(path$,CHR$(92),"/")
cur$ = REPLACE$(path$,"/",".")
cur$ = REPLACE$(cur$,":","-")

OPENFILE(0,cur$+"Dir_Check.txt",FALSE)
OPENFILE(1,cur$+"Dir_Check.csv",FALSE)
WRITELINE  1,"Name;Filesize;Path"
SETCURRENTDIR(path$)

ELSE
SETCURRENTDIR(homepath$)
OPENFILE(0,"Dir_Check.txt",FALSE)
OPENFILE(1,"Dir_Check.csv",FALSE)
WRITELINE  1,"Name;Filesize;Path"

ENDIF





cur$ = GETCURRENTDIR$()



STDOUT cur$+"\n"





listnum% = GETFILELIST ("*.*",file$[])

FOR i = 2 TO LEN(file$[])-1
STDOUT file$[i]+"\n"

WRITELINE  0,file$[i]
WRITELINE  1,file$[i]+";"+GETFILESIZE(file$[i])+" byte;"+cur$
NEXT

KEYWAIT



CLOSEFILE 0
CLOSEFILE 1


Schonmal vielen Dank f?r die Hilfe  :booze:
Title: Re: Parameter?bergabe ?ber Batchdatei geht nicht so :(
Post by: Kitty Hello on 2009-May-05
Hm. Erstmal w?rde ich versuchen path$ =  REPLACE$(path$, "\\", "/") zu machen.
Was schreibt er bei Dir raus?
Title: Re: Parameter?bergabe ?ber Batchdatei geht nicht so :(
Post by: D2O on 2009-May-05
Quote from: Kitty Hello on 2009-May-05
Hm. Erstmal w?rde ich versuchen path$ =  REPLACE$(path$, "\\", "/") zu machen.
Was schreibt er bei Dir raus?

Mit Parameter?bergabe in der IDE, so wie es sein soll.
Genauso wie das von mir benutzte CHR$(92) anstatt "\\"

Code (glbasic) Select

E:/Basic/Projekte/GLBasic/Dir_Check/
M:\Spiele\
M:/Spiele/


Wenn die *.bat benutzt wird um c:\ auszulesen gibts das hier

Code (glbasic) Select

E:/Basic/Projekte/GLBasic/Dir_Check/
Dir_Check.exe c:\
E:/Basic/Projekte/GLBasic/Dir_Check/




Title: Re: Parameter?bergabe ?ber Batchdatei geht nicht so :(
Post by: Kitty Hello on 2009-May-05
Schreib mal die command line $ auf die Konsole und schau mal, was rauskommt.

GETFILELIST$ arbeitet im aktuellen Verzeichnis. Das ist bei GLBasic _immer_ der Pfad, wo die exe ist.
Du musst also vorher SETCURRENTDIR machen.