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

Frage Entwicklung

GELÖST

Verknüpfungen (*.LNK) durch Dateien ersetzen...

Mitglied: OneVoice73

OneVoice73 (Level 1) - Jetzt verbinden

07.03.2007, aktualisiert 16:24 Uhr, 9274 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
Windows 8
Mit CMD Dateien ersetzen
gelöst Frage von wlannerWindows 85 Kommentare

Hallo, ich habe einen Ordner mit verschiedenen Excel-Vorlagendateien (alle haben einen anderen Namen). Jetzt habe ich die Mustervorlage und ...

Batch & Shell
Wenn Verzeichnis vorhanden dann ersetze Datei
gelöst Frage von xbast1xBatch & Shell4 Kommentare

Hallo zusammen, ich benötige ein Skript für folgendes Szenario. Wenn Verzeichnis "Muster" vorhanden, dann ersetze Datei "xyz". Hat evtl. ...

Microsoft Office
Verknüpfung innerhalb von Word Dateien ändern
gelöst Frage von germaneseMicrosoft Office3 Kommentare

hallo zusammen, kleine Frage bezüglich Word 2010: wie kann ich bei verknüpften Dateien, den Pfad zur Quelldatei möglichst automatisiert ...

Windows 7
Gleichnamige Dateien in Webserver durch neue ersetzen
gelöst Frage von theoberlinWindows 74 Kommentare

Hallo zusammen, wir haben einen Web-Server welcher eine gewisse Baumstruktur besitzt. In jedem Unterordner liegt eine index.php mit selbstgenerierendem ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 4 StundenLinux1 Kommentar

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 23 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 23 StundenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen21 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit18 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...