Mit batch verknüpfung erstellen?

...komplette Frage anzeigen

3 Antworten

Mit Batch alleine wird das nicht funktionieren.

Wie spriday das schon etwas umständlich beschrieben hat, ist das zwar auch eine Lösung, aber es geht deutlich einfacher, bzw. direkter mit VBScript.

Option Explicit
' *** MakeDesktopShortcut.vbs ***
Dim fso, wsh, sc, tn, sn
set fso = CreateObject("Scripting.FileSystemObject")

set wsh = CreateObject("WScript.Shell")

tn = Arguments.Unnamed(0)
if not fso.FileExists(tn) then
Err.Raise 53 ' File Not Found
Quit
end if

tn = fso.GetAbsolutePathName(tn)

sn = fso.BuildPath(
wsh.SpecialFolders("Desktop"), fso.GetBaseName(tn) & ".lnk")

set sc = wsh.CreateShortcut(sn)

With sc
.TargetPath = tn

.WorkingDirectory = fso.GetParentFolderName(tn)
.Save
End With



Das speicherst Du dann einfach unter dem angegebenen oder sonst einem Namen ab und dann kannst Du einfach die entsprechende Datei als Parameter angeben und es wird eine ordentliche Windows-Verknüpfung davon auf dem Desktop erstellt.

Allerdings solltest Du darauf achten, dass dieses Script irgendwo im PATH abgespeichert wird, bzw. dass Du den PATH entsprechend erweiterst. Um es unkompliziert zu machen: speichere es einfach unter "%windir%".

Aufruf:

MakeDesktopShortcut.vbs "Meine Datei.txt"

Wenn du eine Internet-Security laufen hast, solltest Du u.U. folgenden Befehl wählen, da wscript.exe maskiert sein kann:

"%SystemRoot%\\\\system32\\\\wscript.exe" //NOLOGO MakeDesktopShortcut.vbs "Meine Datei.txt"

Diesen Befehl kannst Du aber dann auch in eine Batch packen, damit Du das nicht immer wieder neu eingeben musst:

@"%SystemRoot%\\\\system32\\\\wscript.exe" //NOLOGO MakeDesktopShortcut.vbs %*

Damit kannst Du dann via Batch das VBScript aufrufen.


Antwort bewerten Vielen Dank für Deine Bewertung

Man kann das entweder mit Batch über die PowerShell machen:

powershell "$s=(New-Object -COM WScript.Shell).CreateShortcut('%userprofile%\\\\Start Menu\\\\Programs\\\\Startup\\\\%~n0.lnk');$s.TargetPath='%~f0';$s.Save()"

oder über einen Batch-internen Befehl:

mklink "%userprofile%\\\\Start Menu\\\\Programs\\\\Startup\\\\%~nx0" "%~f0"

Ich würde dich trotzdem noch darauf hinweisen, dass man sowas innerhalb einer Minute im Internet findet.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MarkusGenervt
02.11.2016, 07:28

kleine Korrektur:

MKLINK ist kein Batch-interner Befehl, sonder völlig eigenständig und kann von jeder Befehlszeile aus aufgerufen werden.

Außerdem erstellt MKLINK SymLinks, HardLinks und Junction Points, aber keine Windows-Verknüpfungen (manchmal auch als SoftLinks bezeichnet). Das ist etwas völlig Anderes.

2

batch ist ein Krampf sondersgleichen wenn man Linux gewöhnt ist.

Kommt drauf an was du mit der Datei anstellen möchtest. Öffnen innem Texteditor oder was genau?

Edith sagt: ups Frage falsch gelesen ....

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von BlaueGiraffe
01.11.2016, 12:31

Ich will einfach eine verknüpfung erstellen mit einer batch datei auf dem desktop ^^ und ich schreibe es im notepad

0
Kommentar von MarkusGenervt
02.11.2016, 08:18

batch ist ein Krampf sondersgleichen wenn man Linux gewöhnt ist.

Das ist es auch so schon. Aber wenn man dann mal zu Linux wechselt, fällt es einem erst so richtig auf … x-)

1

Was möchtest Du wissen?