Supportnet / Forum / BS-Sonstige
Variable Trennen
Frage
ich habe eine Variable, in der eine Datei mit Pfad eingetragen ist. Nun möchte ich diese Variable auseinander nehmen, so dass ich nur noch den Pfad habe. Hier das Beispiel wie ich es meine:
set db=c:\test\test.db
Nun möchte ich nur den Pfad haben
z.B. DBPath=c:\test
Gibts da ne möglichkeit eine Variable auseinander zu nehmen?
Antwort 1 von manei
Hallo,
da gibt es mehrere Möglichkeiten.
Kommt darauf an welches OS Du hast.
MfG maneich
da gibt es mehrere Möglichkeiten.
Kommt darauf an welches OS Du hast.
MfG maneich
Antwort 2 von SvenR79
Ich benutze Windows 2000
Antwort 3 von manei
Hallo,
wie bereits gesagt, da gibt es mehrere Möglichkeiten.
Am einfachsten sollte es mit ff. Batch gehen:
@echo off
cls
set _T=%temp%.\~tmp
echo dat = %2>>%_T%.vbs
echo poss = InstrRev(dat, "\")>>%_T%.vbs
echo S=left(dat, poss-1)>>%_T%.vbs
echo Wscript.Echo "set out="+CStr(S)>>%_T%.vbs
cscript.exe //nologo %_T%.vbs > %_T%.bat
for %%e in (%_T%.bat del) do call %%e %_T%.???
set %1=%out%
for %%e in (_T out) do set %%e=
cls
Diese Batch rufst Du z.B. auf mit
call pfad x "c:\test\test.db"
oder mit
call pfad x "%db%"
dann steht in x c:\test.
Diese Datei habe ich mal pfad.bat genannt, kannst auch einen anderen Namen vergeben.
Wichtig!!!!
Ob als direkte Adresse oder als Variable, muß immer in Hochkomma " " stehen.
MfG maneich
wie bereits gesagt, da gibt es mehrere Möglichkeiten.
Am einfachsten sollte es mit ff. Batch gehen:
@echo off
cls
set _T=%temp%.\~tmp
echo dat = %2>>%_T%.vbs
echo poss = InstrRev(dat, "\")>>%_T%.vbs
echo S=left(dat, poss-1)>>%_T%.vbs
echo Wscript.Echo "set out="+CStr(S)>>%_T%.vbs
cscript.exe //nologo %_T%.vbs > %_T%.bat
for %%e in (%_T%.bat del) do call %%e %_T%.???
set %1=%out%
for %%e in (_T out) do set %%e=
cls
Diese Batch rufst Du z.B. auf mit
call pfad x "c:\test\test.db"
oder mit
call pfad x "%db%"
dann steht in x c:\test.
Diese Datei habe ich mal pfad.bat genannt, kannst auch einen anderen Namen vergeben.
Wichtig!!!!
Ob als direkte Adresse oder als Variable, muß immer in Hochkomma " " stehen.
MfG maneich
Antwort 4 von SvenR79
Vielen Dank für Deine Hilfe!
Es hat gut geklappt :-)
Es hat gut geklappt :-)

