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, 9425 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 ...

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 ...

Batch & Shell

CSV-Datei Komma durch Semikolon ersetzen

gelöst Frage von FalkITBatch & Shell8 Kommentare

Hi Zusammen, ich suche eine Möglichkeit in einer Komma getrennten CSV Datei alle Kommas die als Trenner dienen durch ...

Windows Server

Gruppenrichtlinie Datei ersetzen, einmalig anwenden

gelöst Frage von MeierjoWindows Server2 Kommentare

Hallo zusammen System: Windows 2011 SBS, Clients Win7 64Bit Habe da folgendes Verständigungsproblem: Im Gruppenrichtlinien-Editor gibt's die Möglichkeit, Dateien ...

Neue Wissensbeiträge
Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 2 StundenWindows 10

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 4 StundenWindows 10

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 2 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Suche Projektpartner

PC Recycling Projekte mit Flüchtlingen und Kids suchen Materialspenden und Mitmacher!

Erfahrungsbericht von NettePCyclePiraten vor 2 TagenSuche Projektpartner9 Kommentare

Hallöchen liebe Kollegen, ich betreue zwei PC-Gruppen im Raum Dortmund: "Ne#e PCycle Pir@ten" & "PCschr@uber Br@mbauer" Wir sind eine ...

Heiß diskutierte Inhalte
Batch & Shell
PowerShell Auflösung zu .txt (Skript als exe) falsche Auflösung?!
Frage von timsen-96Batch & Shell20 Kommentare

Ich habe folgendes Skript um die Bildschirmauflösung herauszufinden, was auch in PowerShell super funktioniert: Add-Type -AssemblyName System.Windows.Forms $Width = ...

Humor (lol)
Windows 10 - immer für Überraschungen gut
gelöst Frage von HenereHumor (lol)18 Kommentare

Eben nach (beim) installieren der neuesten Updates für 1803 :-) Und sorry fürs Handyfoto, aber der musste sein. Nach ...

Exchange Server
Exchange Backup 10 Jahre Aufbewahrung
Frage von arccosExchange Server17 Kommentare

Hallo zusammen. Aktuell beschäftigen mich ein paar Fragen zum Thema Office365/ Exchange. 1.10 Jahre Aufbewahrungspflicht sicherstellen 2.Kann man als ...

Samba
Samba-NAS Zugriff verweigert
gelöst Frage von VernoxVernaxSamba15 Kommentare

hallo ich schaffe es einfach nicht meinem User Rechte zum schreiben zu geben. Ich habe dies alles auf nem ...