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-Key: 190349

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

Printed on: April 18, 2024 at 04:04 o'clock

Member: bastla
bastla Aug 28, 2012 at 21:52:59 (UTC)
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
Member: OKIDOKI
OKIDOKI Aug 29, 2012 updated at 07:50:48 (UTC)
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
Member: bastla
bastla Aug 29, 2012, updated at Sep 07, 2012 at 12:52:46 (UTC)
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
Member: OKIDOKI
OKIDOKI Aug 29, 2012 at 21:50:06 (UTC)
Goto Top
Hallo bastla,

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

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

Grüße
OKIDOKI