Erstellen von Verknüpfungen - Parameterübergabe, Leerzeichen im Pfad
Hallo,
ich möchte gerne per Batch und vbs eine Verknüpfung auf eine pdf erstellen, die im Netzwerk liegt.
Hier im Forum habe ich dazu folgende batch Datei gefunden:
Da die Verknüpfung als Namen einen Wert aus einer MySQL DB erhalten muss, verwende ich php um die obenstehende .bat aufzurufen.
Solange der Pfad der an die .bat übergeben wird keine Leezeichen enthält funktioniert es einwandfrei. Leider habe ich keinen Einfluss auf die Pfade.
Diese sehen zum Beispiel so aus: \\server\dokus\Müller, Max Stuttgart\
Wie müsste der obenstehende Code verändert werden, damit immer der ganze Pfad übergeben wird.
Danke.
Schöne Grüße
Alforno
ich möchte gerne per Batch und vbs eine Verknüpfung auf eine pdf erstellen, die im Netzwerk liegt.
Hier im Forum habe ich dazu folgende batch Datei gefunden:
::Speicherort der Verknüpfung (unterhalb von Startmenue\Programme)
set "zielpfad=E:\dokumanagement\eingangsrechnungen\lnk_archiv"
::Name der Verknüpfung (ohne ".lnk")
set "progtitel=%3"
::Speicherort der Programmdatei (wird auch für "Ausführen in:" verwendet)
set "progdir=%1"
set "progexe=%2"
::temporäres VBScript erzeugen ...
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs
echo Set objShortcut=objShell.CreateShortcut("%zielpfad%\%progtitel%.lnk")>>%temp%\MakeShortCut.vbs
echo objShortcut.TargetPath="%progdir%\%progexe%">>%temp%\MakeShortCut.vbs
echo objShortcut.WorkingDirectory="%progdir%">>%temp%\MakeShortCut.vbs
echo objShortcut.Save>>%temp%\MakeShortCut.vbs
::... ausführen ...
cscript //nologo %temp%\MakeShortCut.vbs
::... und wieder löschen.
del %temp%\MakeShortCut.vbs
Da die Verknüpfung als Namen einen Wert aus einer MySQL DB erhalten muss, verwende ich php um die obenstehende .bat aufzurufen.
<?php
exec("cmd.exe /c F:\backup_skripte\GenerateLink.bat $pfad $dateiname $lfdRechNr");
?>
Solange der Pfad der an die .bat übergeben wird keine Leezeichen enthält funktioniert es einwandfrei. Leider habe ich keinen Einfluss auf die Pfade.
Diese sehen zum Beispiel so aus: \\server\dokus\Müller, Max Stuttgart\
Wie müsste der obenstehende Code verändert werden, damit immer der ganze Pfad übergeben wird.
Danke.
Schöne Grüße
Alforno
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 295426
Url: https://administrator.de/contentid/295426
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
13 Kommentare
Neuester Kommentar
Zu PHP kann ich nichts sagen. Die Kommandozeile sollte funktionieren.
D:\test.bat:
Aufruf und Ausgabe:
Ich hab leider keine Ahnung was bei deinen Scripts nicht funktioniert.
D:\test.bat:
@echo off
echo %1
echo %2
echo %3
Aufruf und Ausgabe:
D:\>cmd /c ""test.bat" "mit Leerzeichen 1" "mit Leerzeichen 2" "mit Leerzeichen 3""
"mit Leerzeichen 1"
"mit Leerzeichen 2"
"mit Leerzeichen 3"
D:\>
Ich hab leider keine Ahnung was bei deinen Scripts nicht funktioniert.