Parameter?bergabe ?ber Batchdatei geht nicht so :(

Previous topic - Next topic

D2O

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:
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Kitty Hello

Hm. Erstmal w?rde ich versuchen path$ =  REPLACE$(path$, "\\", "/") zu machen.
Was schreibt er bei Dir raus?

D2O

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/




I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Kitty Hello

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.