okidoki
Goto Top

Batch Datei auswählen (vbs) und in zwei Variablen erfassen fullpath und stand alone dateiname

Guten Abend,
trotz langer Suche konnte ich leider keine Ergebnis finden und würde mich über Hilfe freuen face-wink

In folgender Batch kann mittels eines vbs-Scriptes eine Datei ausgewählt werden. Jetzt benötige ich aber nicht nur den vollen Path (wegen einer Kopiermöglichkeit in der weiteren Verarbeitung), sondern eben auch den reinen Dateinamen:

@ECHO OFF & SETLOCAL
>%temp%\msgbox.vbs ECHO 'Datei auswählen  
>>%temp%\msgbox.vbs ECHO Set objOpenDialog = CreateObject("SAFRCFileDlg.FileOpen")  
>>%temp%\msgbox.vbs ECHO intReturn = objOpenDialog.OpenFileOpenDlg
>>%temp%\msgbox.vbs ECHO If intReturn Then WScript.Echo objOpenDialog.FileName
set "Eingabe="  
for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Eingabe=%%i"  
del "%temp%\msgbox.vbs"  

:: In %Eingabe% steht ja der komplette Pfad (den ich ebenfalls benötige). Wie bekomme ich zusätzlich den Dateinamen?

Danke, OKIDOKI

Content-ID: 190349

Url: https://administrator.de/contentid/190349

Ausgedruckt am: 19.11.2024 um 17:11 Uhr

bastla
bastla 28.08.2012 um 23:52:59 Uhr
Goto Top
Hallo OKIDOKI!

Wenn's weiter nix sein soll face-wink:
for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Pfad=%%~dpi" & set "Name=%%~ni" & set "Typ=%%~xi"  
echo "%Name%" mit Typ "%Typ%" in Pfad "%Pfad%" ergibt: "%Pfad%%Name%%Typ%  
Grüße
bastla
OKIDOKI
OKIDOKI 29.08.2012 aktualisiert um 09:50:48 Uhr
Goto Top
Hallo bastla,

nein, solls nicht! face-wink

Weltbestes Forum, in kürzester Zeit - und mit der allerbesten Hilfe!

PS: Könntest du mir noch ~dpi, ni und xi erklären und vor allem sagen, ob die und andere definiert sind?
PS2: wie muss denn "if defined" aussehen?

Das reicht ja nicht:
if defined Eingabe (GOTO :weiter) else (GOTO :halt)

Dankeschön!
OKIDOKI
bastla
bastla 29.08.2012, aktualisiert am 07.09.2012 um 14:52:46 Uhr
Goto Top
Hallo OKIDOKI!
Könntest du mir noch ~dpi, ni und xi erklären und vor allem sagen, ob die und andere definiert sind?
Soferne ich Dich richtig verstehe, meinst Du, ob eine Abfrage mit "if defined" möglich ist; wenn ja, ist die Antwort zwar "nein", aber da ja, wie oben gezeigt, eine Zuweisung an "gewöhnliche" Variable erfolgen kann, lässt sich die ja danach prüfen ...

Informationen zu "%~ni" etc findest Du mit "for ?" (ziemlich am Ende).
Das reicht ja nicht:
Doch face-wink - wenn eine Eingabe/Auswahl erfolgt ist, hat die Variable %Eingabe% einen Inhalt und ist daher "defined" ...

Grüße
bastla
OKIDOKI
OKIDOKI 29.08.2012 um 23:50:06 Uhr
Goto Top
Hallo bastla,

das ist ja (for /?) schön nachzulesen!

Danke auch für den "defined"-Hinweis.

Grüße
OKIDOKI