Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

[Batch] (variable) Desktopverknüpfung erstellen

Frage Entwicklung Batch & Shell

Mitglied: Phlegma

Phlegma (Level 1) - Jetzt verbinden

21.12.2006, aktualisiert 06.01.2007, 18103 Aufrufe, 22 Kommentare

hi leutz,
melde mich wieder mit meiner installation... diesesmal geht es um verknüpfungen
also LNK dateien die bei variablem installtionsort auch variabel sein müssen
microsoft win95 shortcut.exe war meine erste idee, hat allerdings nicht funktioniert..

ich möchte eine verknüpfung von dem programm das ich installiere auf dem desktop erstellen.
per variable wird das programm irgendwo auf die festplatte kopiert (kann man sich aussuchen) allerdings kann ich nicht für jeden ort eine vorgefertigte verknüpfung mitliefern die dann kopiert wird, sie muss erstellt werden.

ich habe zuerst versucht rauszubekommen was in einer LNK datei eigentlich drin steht, das ist allerdings hauptsächlich kryptisch und so fällt der befehlt echo XX > shortcut.lnk weg

danach habe ich weitergegoogelt und bin auf die win95 shortcut.exe gestoßen und ausprobiert... leider ohne erfolg (wobei sich das programm ausführen ließ und hilfe angezeigt hat.. allerdings die datei die es verknüpfen sollte nicht fand)

nun brauche ich hilfe was ich bei diesem programm falsch mache..vllt hat da jmd erfahrung?

oder eine lösung wie ich eine desktopverknüpfung erstellen kann

würd mich freuen wenn jmd was einfällt und mir postet!

Mit freundlichen Grüßen, Ph
Mitglied: Biber
21.12.2006 um 19:53 Uhr
Moin Phlegma,

ich weiß ja nicht, was Firma M$ zum Shortcut-Anlegen empfiehlt - ich empfehle in solchen Fällen eher den Kollegen bastla...

Der hat neulich in einem Thread von User cbli sinngemäß folgenden Schnipel gepostet:

01.
'-----------snipp MakeShortCut.vbs 
02.
>type f:\VBS_Beispiele\MksoftwareSCut.vbs 
03.
Const strProgramtitel="Software5"        ' anpassen 
04.
Const strProgram ="C:\WINDOWS\System32\appwiz.cpl"  'anpassen 
05.
Dim objShortcut 
06.
Dim objShell 
07.
Set objShell= WScript.CreateObject("Wscript.Shell") 
08.
strLPfad=objShell.SpecialFolders("Desktop") 
09.
Set objShortcut=objShell.CreateShortcut(strLPfad & "\" & strProgramtitel & ".lnk") 
10.
objShortcut.TargetPath= strProgram 
11.
objShortcut.Description= strProgramtitel 
12.
' objShortcut.IconLocation = strProgram & ", -1500"      'anpassen 
13.
 
14.
objShortcut.Save
Den (Schnipsel) solltes Du mit kleinen Änderungen zum Fliegen bringen können.

HTH Biber
Bitte warten ..
Mitglied: Phlegma
21.12.2006 um 20:05 Uhr
hui,
ok nun habe ich einen ansatz aber ein paar probleme...
1. mein wissen über vbs is leider winzig da ich erst am anfang einer programmiererlaufbahn stehe
2. ist vbs nicht meist automatisch deaktiviert weil es leicht ausgenutzt werden kann?

nun bitte ich um genauere erklärung und anweisung sodass ich das auch hinbekomme

Ph
Bitte warten ..
Mitglied: gemini
21.12.2006 um 20:40 Uhr
Hallo Phlegma,

Roland Weisskopf hat ein anscheinend sehr komfortables und pflegeleichtes Shortcutmanagement geschrieben. Ist allerdings kein Batch sondern VBScript.

HTH,
gemini
Bitte warten ..
Mitglied: Phlegma
21.12.2006 um 20:46 Uhr
oki,
hört sich nahc ner ähnlichen antowort an wie biber..
ich werd mir das mal anschauen! danke!

allerdings klärt das noch nicht meine frage ob vbs nicht meist deaktiviert ist..?

wenn dann könnte man den registry wert der das verbietet ändern... und am ende wieder setzen... aber hilft das ohne neustart?
und wie fragt man ab ob ein registrywert vorhanden ist und wieviel er beträgt?
Bitte warten ..
Mitglied: gemini
21.12.2006 um 20:53 Uhr
allerdings klärt das noch nicht meine frage ob vbs nicht meist deaktiviert ist..?
Wenn du der Admin bist solltest du das wissen; wenn du es nicht bist solltest du den Admin fragen.

Grundlegend ist es wohl ähnlich, da beide in VBS geschrieben sind.
Soweit ich mich erinnere arbeitet er aber mit zwei Dateien. Schau es dir einfach an.
Bitte warten ..
Mitglied: Phlegma
21.12.2006 um 21:03 Uhr
nun, ich bin admin meines eigenen computers aber wie ich in der einführung geschrieben habe, erstelle ich eine installation, also eine batch datei auf einer cd die dateien auf den computer kopiert und zwar nicht nur auf meinen...

[ und wenn du jetzt sagst: " dann benutz doch so einen installation builder " dann kann ich nur antowrten das ich "stur" bin und mir gerne mein batch offen halten möchte, zudem find ich diese builder doof xD ]

also nochmal zurück, ich hab mir das angeschaut und bin wie eben bei dem schnipsel von biber überfordert... und finde nicht, dass das so kompliziert gemacht werden muss..
danke trotzdem!
Ph
Bitte warten ..
Mitglied: Biber
21.12.2006 um 21:34 Uhr
Moin Phlegma,

das ist ja auch nicht "der Schnipsel von Biber", sonst wär es ja auch nicht kompliziert.
Ist von bastla - ich schreibe lieber einfache Batch-Oneliner.
Da bekomm ich auch nicht dauernd "Syntaxerror in line 12" oder ähnlich Schlimmes...

Geht aber nu' mal bei Shortcuts nich'.

Also entweder:
- die drei Stellen in dem Schnipsel anpassen (wie Dein Programm heißt und wo Du es abgeladen hast, weißt Du doch, oder?)
- das Dingen erzeugen aus dem Batch mit "Echo bla..>>%temp%\MkSCut.vbs", das trau ich Dir zu
- aufgerufen wird es wieder aus dem Batch mit "cscript //nologo %temp%\MkSCut.vbs"
- wenn es kein VBS beim User/der Userin gibt, gibt es kein Desktop-Icon dort.
Das Leben ist nun mal hart.

Wenn Du meinst, dass Du mit einer der Freeware-SCut.exe/makeSCut.exe'n besser klarkommst... try it und poste Deine Erfahrungen.

Grüße
Biber
Bitte warten ..
Mitglied: Phlegma
21.12.2006 um 22:07 Uhr
hi,
also gut..
ich werd mich mit diesem vbs auseinandersetzen...

und dieses shortcut.exe win95 bekomm ich au noch zum laufen sofern das möglich is .. meine idee is auch ne verknüpfung zu erstellen, die auf desktop zu kopieren und dann zu editiern mit diesem prog.. mal sehn

dann stellt sich noch dass problem das ganze im startmenü zu machen wobei ich da auch nur kopier erfahrung hab

in jedem fall werd ich mein resultat hier posten..


trotzdem bitte ich um hilfe bzw tipps wenn jmdm was einfällt !!


vielen dank biber!

Ph
Bitte warten ..
Mitglied: Biber
21.12.2006 um 22:21 Uhr
Nachtrag, Phlegma,

hatte ich vorhin nicht so schnell griffbereit, aber auf http://www.coffeecomputing.com , die auch irgendeine ShortCut-Lösung namens SCut11zip anbieten, hatte ich mal gelesen:
The Microsoft SHORTCUT.EXE program provided on the Win95 CD has a few problems:
1) Does not allow wildcards when changing existing links
2) Does not work under Windows NT
3) Does not have the option to search sub directories

Punkt 2 könnte bedeuten, dass Du dieses Win95-Tool nicht verwerten kannst (die haben das 1997 geschrieben!).
Wie bei den meisten M$-Tools ist ja nur gewährleistet, dass es Festplattenplatz beansprucht, aber nichts von Auf- oder Abwärtskompatibilität.
Oft sind die ja nicht mal kompatibel zur der Version, bei der es mit ausgeliefert wird.

Grüße
Biber
Bitte warten ..
Mitglied: Phlegma
21.12.2006 um 23:07 Uhr
schade wirklich.. hätte mir geholfen...
nun werde mich mit dem vbs befassen .. braucht bisel zeit.. bleibt noch offen:
allerdings klärt das noch nicht meine
frage ob vbs nicht meist deaktiviert ist..?

wenn dann könnte man den registry wert
der das verbietet ändern... und am ende
wieder setzen... aber hilft das ohne
neustart?
und wie fragt man ab ob ein registrywert
vorhanden ist und wieviel er beträgt?

danke, Ph
Bitte warten ..
Mitglied: Biber
21.12.2006 um 23:43 Uhr
Also mal im Ernst, Phlegma,

wenn dann könnte man den registry wert der das [vbscript] verbietet ändern...
Wenn denn VbScript verboten wäre, was ja nun schon exotisch anmutet, außer wenn Du Deine Software in einer geschlossenen Anstalt installieren würdest, aber wenn es nun so wäre, WTF treibt Dich dann zu der Annahme, Du könntest eben mal kurz per Reg.exe-Aufruf diese Bremse lösen???
Oder installierst Du Deinen Krempel auf PCs, die Du nicht mal kennst, unter Admin-Rechten?

und wie fragt man ab ob ein registrywert vorhanden ist und wieviel er beträgt?
Wie man/frau einen Registry-Wert abfragt mit Reg.exe oder RegEdit.exe, würde mehrfach hier gepostet - sogar als Tutorial. Forumssuche.
"Wieviel er beträgt?" kann ich so nicht beantworten - meistens 0 oder 1. In der Regel jedenfalls kleiner als 42.

Grüße
Biber
Bitte warten ..
Mitglied: Phlegma
05.01.2007 um 16:03 Uhr
hi, ich melde mich zurück!

nun nach längerer suche konnte ich nichts als beispiele über dieses vbs finden heute bin ich wieder auf den schnipsel von bastla zurückgekommen...

erste meldung fehler 2 zeile
>type f:\VBS_Beispiele\MksoftwareSCut.vbs

hab dann ein ' davor um es auszuschalten.. und sie an etwas passierte...
ich bekam eine verknüfpung auf dem desktop.. !
allerdingsweitere probleme:
hab das dann angepasst, auf mein programm.. nun die verknüpfungszeile "ausführen in fehlt!
so funktioniert das ganze nicht es muss ein befehl fehlen...

ich brauche nun diesen befehl der wohl ähnlich wie objShortcut.TargetPath= strProgram
etwa objShortcut.executePath= strProgram heißen muss ..weiß jmd diesen befehl?

oje und dann brauch ich die selbe variable verknüpfung für das startmenü da fehlt mir auch ein befehl ähnlich wie strLPfad=objShell.SpecialFolders("Desktop") gibt es
strLPfad=objShell.SpecialFolders("Startmenu") ??

dann würde ich gerne noch einen hinweis hinterlegen wo ich mein program installiert hab sei es eine txt datei oder ein registry eintrag auf den/die ich bei erneutem ausführen der installation zugreifen kann um zu sehn dass das programm schon installiert bzw wo es installiert ist sehen kann, deshalb auch das einlesen vorher; jmd ne idee?

freu mich über hilfe!, Ph

hum, wenn ich mich undeutlich ausgedrückt hab erklär ich das gerne genauer...
Bitte warten ..
Mitglied: Phlegma
05.01.2007 um 19:15 Uhr
hm mein browser hat gesponnen.. sry doppelpost..

hat niemand ne idee? bzw antwort
Bitte warten ..
Mitglied: onegasee59
05.01.2007 um 20:27 Uhr
ich möchte eine verknüpfung von dem programm das ich installiere auf dem desktop erstellen.

ich mach es so: (am konkreten Bsp. eines Tools von mir)

set wshshell = CreateObject("WScript.Shell")
'Ort des Windowsdesktops
desktopdir = wshshell.SpecialFolders(0)
neuerlink = desktopdir & "\NeroClean_Master.lnk"
set link = wshshell.Createshortcut(neuerlink)
link.TargetPath = "C:\WIN-Scripte\NeroClean_Master\NeroClean_Master.exe"
link.Save
'MsgBox ("Verknüpfung zu NeroClean_Master.exe wurde auf dem Desktop angelegt!")

diese *.vbs verwende ich in allen Installations-Dateien die ich mir baue.
Am konkreten Bsp.:
Die eigentliche "NeroClean_Master_installer.exe" erstelle ich mit dem WinZip Self-Extractor.
Diese enthält dann die selbstinstallierende "NeroClean_Master_extrakt.exe" (siehe unten).

@echo off
mode 82,20
color fc
rem eine vorhandene Installation wird gelöscht, der Link an der einmal gewählten Desktop-Position ersetzt.
if exist "C:\WIN-Scripte\NeroClean_Master" rd /s /q "C:\WIN-Scripte\NeroClean_Master" > nul
"NeroClean_Master_extrakt.exe"
"NeroClean_Master_auf_Desktop.vbs"
cls
echo.
echo.
echo.
echo
echo ^| ^|
echo ^| ^|
echo ^| "NeroClean_Master" ^|
echo ^| ^|
echo ^| ^|
echo ^| Verknpfung zum Programm wurde auf des Desktop angelegt ^|
echo ^| ^|
echo ^| ^|
echo ^| ^|
echo
echo.
echo.
echo.
pause
....

gruß
onegasee59
Bitte warten ..
Mitglied: Phlegma
05.01.2007 um 21:10 Uhr
oO
nett von dir dass du mir antwortest.. leider gehst du nicht direkt auf meine frage ein...
du erklärst mir wie ich eine verknüpfung erstelle.. allerdings nicht unter den umständen die ich habe...
könnte mir jmd obige fragen (vorletzter post von mir) beantworten bitte?

danke trotzdem onegasee59!

Ph
Bitte warten ..
Mitglied: onegasee59
05.01.2007 um 21:49 Uhr
nett von dir dass du mir antwortest.. leider gehst du nicht direkt auf meine frage ein...

hmm Sorry wenn ich Dich missverstanden habe, aber am besten postest Du mal wie Dein Code-Schnippsel jetzt aussieht!

gruß
onegasee59
Bitte warten ..
Mitglied: Phlegma
05.01.2007 um 22:43 Uhr
'-----------snipp MakeShortCut.vbs
'>type f:\VBS_Beispiele\MksoftwareSCut.vbs <--- weiß nich was das bringt
Const strProgramtitel="XXX" ' (anpassen) XXX mein prog
Const strProgram ="P:\XXX.exe" '(anpassen)
Dim objShortcut
Dim objShell
Set objShell= WScript.CreateObject("Wscript.Shell")
strLPfad=objShell.SpecialFolders("Desktop")
Set objShortcut=objShell.CreateShortcut(strLPfad & "\" & strProgramtitel & ".lnk")
objShortcut.TargetPath= strProgram
objShortcut.Description= strProgramtitel
' <> hier fehlt wohl noch was
' objShortcut.IconLocation = strProgram & ", -1500" 'anpassen

objShortcut.Save

hmm so sieht er aus... mir fehlt der befehlt der angibt "ausführen in" und später anstatt desktop startmenu.. dann wär ich schon weiter...
Bitte warten ..
Mitglied: onegasee59
05.01.2007 um 23:14 Uhr
'-----------snipp MakeShortCut.vbs
'>type f:\VBS_Beispiele\MksoftwareSCut.vbs <--- weiß nich was das bringt

--zitat--
TypeZeigt den Inhalt einer Textdatei an. Verwenden Sie den Befehl type, wenn Sie eine Textdatei anzeigen, sie aber nicht verändern möchten.

Syntax
type [Laufwerk:][Pfad] Dateiname
--zitatende--

Edit---
da fehlt also vor type......nur der LW-Buchstabe - das "<"-Zeichen davor ist vermutlich nur beim zitieren hier entstanden

ich vermute jetzt doch so, mit:

">type f:\VBS_Beispiele\MksoftwareSCut.vbs" --> wird die *.vbs erstellt/gespeichert


' <> hier fehlt wohl noch was

link.TargetPath = "Pfad zur XXX"

gruß
onegasee59
Bitte warten ..
Mitglied: Phlegma
06.01.2007 um 01:03 Uhr
ah thx... aber jez weiß ich nich wofür das eigentlich da war das type...auch egal geht ja ohne...
nun zu deinem befehl
link.TargetPath = "Pfad zur XXX"
EDIT: fehler: zeiel 12 zeichen 1 objekt erforderlich link../EDIT
er funktioniert leider nicht.. oderwas mach ich was falsch?
...
objShortcut.TargetPath= strProgram
objShortcut.Description= strProgramtitel
link.TargetPath = "P:\XXXordner"

EDIT: ich hab da ne idee.. statt link vllt objshortcut?/EDIT
danke! Ph
Bitte warten ..
Mitglied: onegasee59
06.01.2007 um 01:08 Uhr
link.TargetPath = "Pfad zur XXX" - er funktioniert leider nicht.. oder was mach ich was falsch?

ändere mal in --> link.TargetPath = "P:\XXXordner\Datei.???"

onegasee59
Bitte warten ..
Mitglied: Phlegma
06.01.2007 um 01:12 Uhr
hm.. aber es geht doch um das ausfürhen in.. und das link is doch falsch...?


EDIT: HAH objShortcut.WorkingDirectory habs!

juhu die seite is echt hilfreich http://www.johnrostron.co.uk/bill/troubleshooting/programming/windows_s ...
da steht auch gleich mein problem mit startmenu drin
bleibt noch eins:

dann würde ich gerne noch einen hinweis hinterlegen wo ich mein program installiert hab
sei es eine txt datei oder ein registry eintrag auf den/die ich bei erneutem ausführen der
installation zugreifen kann um zu sehn dass das programm schon installiert bzw wo es
installiert ist sehen kann, deshalb auch das einlesen vorher; jmd ne idee?

gruß.. Ph

{und sorry wegen dem komischen zitatpost oben.. ich dachte eig der wird unten anghängt... (fängt mit yeah an)}
Bitte warten ..
Mitglied: Phlegma
06.01.2007 um 01:34 Uhr
yeah das funktioniert schonmal... so jetzt brauch ich noch antwort auf idese fragen... werd auch ma bisel googlen.. dachte vllt weiß jmd gleich was...


oje und dann brauch ich die selbe variable
verknüpfung für das startmenü
da fehlt mir auch ein befehl ähnlich wie
strLPfad=objShell.SpecialFolders("Desktop")
gibt es

strLPfad=objShell.SpecialFolders("Startmenu")
??

dann würde ich gerne noch einen hinweis
hinterlegen wo ich mein program installiert
hab sei es eine txt datei oder ein registry
eintrag auf den/die ich bei erneutem
ausführen der installation zugreifen
kann um zu sehn dass das programm schon
installiert bzw wo es installiert ist sehen
kann, deshalb auch das einlesen vorher;

jmd ne idee?


danke für die hilfe! Ph
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batch variable DOS-Funktion von "größer" und "kleiner" Zeichen unterdrücken (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerkressource ohne Laufwerksbuchstabe via Batch bzw. Scrip erstellen (13)

Frage von der-suchende zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...