Top-Themen

Aktuelle Themen (A bis Z)

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 Verknüpfungen (*.LNK) durch Dateien ersetzen...

Mitglied: OneVoice73

OneVoice73 (Level 1) - Jetzt verbinden

07.03.2007, aktualisiert 16:24 Uhr, 9590 Aufrufe, 3 Kommentare

...oder die Erzeugung von realtiven Verknüpfungspfaden?

Guten Tag!

Nachdem ich fast das ganze Netz durchforstet habe und beim Googeln auf dieses Forum gestossen bin, in dem scheinbar professionellere Hilfe angeboten wird als in anderen Bereichen, versuche ich nun hier mein Glück.

Mein Problem:
In einem Hauptverzeichnis befinden sich Dateien.
In Unterverzeichnissen befinden sich Verknüpfungen auf die o.g. Dateien.
In der Eigenschaft der *.LNK-Datei wird das Ziel als absolute Pfadangabe angegeben.
Wenn ich nun das Hauptverzeichnis incl. aller Datein, Unterverzeichnisse und die darin enthaltenen Verknüpfungen auf CD brenne, funktionieren die Verknüpfungen nicht auf anderen Rechnern, in denen ich die CD einlese (da die gespeicherten Pfade nicht vorhanden sind).

Ursprünglich war ich auf der Suche nach einer Möglichkeit, die gespeicherten absoluten Pfadangaben (in der Zielangabe der *.LNK) durch relative Pfadangaben zu ersetzen. Das scheint leider nicht zu funktionieren
Zumindest habe ich im Netz nichts dergleichen finden können. Falls hier jemand dafür eine Lösung anbieten könnte, wäre ich wirklich sehr dankbar!

Da ich davon ausgehe, dass der eben genannte Lösungsansatz nicht funktionieren wird, habe ich mir alternativ noch folgende Verfahrensweise überlegt (und deshalb schreibe ich in diesem Forumsbereich):
Wie könnte man es bewerkstelligen, dass (mittels einer Routine) die Verknüpfungen durch die eigentlichen Dateien aus dem Hauptverzeichnis quasi überschrieben werden (ich benötige danach die Verknüpfungen ja eigentlich nicht mehr)?
Einzige Schwierigkeit dabei: Die Verknüpfungen heißen anders als die ursprünglichen Dateien und die überschreibenden Originaldateien müssen danach diesen Namen (der Verknüpfung) wieder erhalten.

Diese Geschichte manuell abzuarbeiten, käme einer Strafarbeit gleich. Anzahl Dateien plus deren Verknüpfungen: weit über 4000!

Für jede brauchbare Antwort wäre ich sehr dankbar!

Ach ja: Mein Betriebssystem ist WinXP.

Lieben Gruß!
Mitglied: bastla
07.03.2007 um 14:26 Uhr
Hallo OneVoice73 und willkommen im Forum!

Was relative Verknüpfungspfade anlangt - leider auch bei mir Fehlanzeige ...

Das folgende VBScript erwartet als einziges Argument die Angabe des Pfades, in dem die Verknüpfungen gespeichert sind und versucht dann, alle Verknüpfungen durch die verknüpften Dateien zu ersetzen.

Der neue Name der kopierten Datei setzt sich aus dem Dateinamen der Verknüpfung und dem Dateityp der verknüpften Datei zusammen.

01.
'ReplaceLinks.vbs
02.
If WScript.Arguments.Count < 1 Then
03.
	WScript.Echo "Kein Pfad übergeben!"
04.
	WScript.Quit(1)
05.
End If
06.
 
07.
Pfad = WScript.Arguments(0)
08.
Set fso = CreateObject("Scripting.FilesystemObject")
09.
Set objShell= WScript.CreateObject("Wscript.Shell")
10.
If Not fso.FolderExists(Pfad) Then
11.
	WScript.Echo "Pfad ungültig!"
12.
	WScript.Quit(1)
13.
End If
14.
If Right(Pfad, 1) <> "\" Then Pfad = Pfad & "\"
15.
 
16.
For Each Datei In fso.GetFolder(Pfad).Files
17.
	If LCase(Right(Datei.Name, 4)) = ".lnk" Then
18.
		Set objShortcut = objShell.CreateShortcut(Datei.Path)
19.
		Prog = objShortcut.TargetPath
20.
		If InstrRev(Prog, ".") Then
21.
			PName = Left(Datei.Name, Len(Datei.Name) - 4) & Mid(Prog, InstrRev(Prog, "."))
22.
		Else
23.
			PName = Left(Datei.Name, Len(Datei.Name) - 4)
24.
		End If
25.
		If fso.FileExists(Prog) Then
26.
			fso.CopyFile Prog, Pfad & PName
27.
		End If
28.
		Set objShortcut = Nothing
29.
		fso.DeleteFile(Datei.Path)
30.
	End If
31.
Next
32.
WScript.Echo "Fertig."
Das Script ist bisher nur oberflächlich getestet und weist auch nur ansatzweises Errorhandling (Parameterübergabe) auf ...

Grüße
bastla
Bitte warten ..
Mitglied: Nemia
07.03.2007 um 14:32 Uhr
Dazu fällt mir leider auch nichts ein.
Wozu brauchst du die Dateien? Zum Kopieren auf die anderen PC's? Wenn diese PC's noch "nackt" sind (also ohne gespeicherte Dateien), dann wäre ein Image (zB: mit Norton Ghost) am Einfachsten.
Bitte warten ..
Mitglied: OneVoice73
07.03.2007 um 16:24 Uhr
Das ist ja der totale Wahnsinn!
Diese Lösung reicht mir bereits voll und ganz!
Vielen Dank, bastla!!!

Eine kleine Änderung musste ich allerdings vornehmen:

'If InstrRev(Prog, ".") Then
'PName = Left(Datei.Name, Len(Datei.Name) - 4) & Mid(Prog, InstrRev(Prog, "."))
'Else
PName = Left(Datei.Name, Len(Datei.Name) - 4)
'End If

Sprich: Den IF-Block benötige ich gar nicht. Die Anweisung im ELSE reicht mir völlig (kleiner kosmetischer Fehler: "*.txt.txt").

Und die Schnelligkeit der Antwort wirft mich ja echt um!
Besten Dank nochmal! Sie haben mir unheimlich viel Arbeit erspart!

Lieben Gruß!

Thema = closed!
Bitte warten ..
Ähnliche Inhalte
Exchange Server

Exchange 2010 Outlook2010 LNK Endungen erlauben bzw. nicht filtern

gelöst Frage von XartorExchange Server3 Kommentare

Hallo zusammen, ich habe ein kleines Problem mit Outlook 2010 in Verbindung mit Exchange Server 2010. Wenn ich eine ...

Batch & Shell

Modify a vb script to change the targets in lnk files

gelöst Frage von jukuhukuBatch & Shell2 Kommentare

greetings, i`m using the following vb script over the "send as" menu to change the two targets inside lnk ...

Batch & Shell

BATCH ini Datei Datei auslesen

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Viren und Trojaner

MPSigStub Datei

gelöst Frage von marilene1Viren und Trojaner2 Kommentare

Hallo, ich habe seit einigen Tage eine Datei MPSigStub. Ich kann es leider nicht löschen, da ich keine Berechtigung ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 2 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 2 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 4 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 5 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
gelöst Frage von frosch2Windows Netzwerk33 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
gelöst Frage von Leo-leHosting & Housing24 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

LAN, WAN, Wireless
WLAN und Ausmessung - Eine Glaubensfrage?
Frage von ptr2brainLAN, WAN, Wireless23 Kommentare

Liebe Experten, als Sys-Admin habe ich mir schon öfter die Frage gestellt, ob es sich beim Thema WLAN und ...

Virtualisierung
Gebrauchte Server Hardware als Virtualisierungs-"Spielwiese"?
Frage von NixVerstehenVirtualisierung19 Kommentare

Einen wunderschönen guten Morgen zusammen, ich möchte mich gerne etwas tiefer mit dem Thema Virtualisierung beschäftigen und dazu ein ...