Kompletter Netzwerkpfad von Datei bzw. Ordner kopieren
Hallo Zusammen,
aktuell stellt sich mir folgendes Problem:
Ich habe im Arbeitsplatz sehr viele unterschiedliche Netzwerkordner angebunden.
Nun navigiere ich zu einer beliebigen Datei/Ordner in einem beliebigen Netzwerkordner und möchte den kompletten Netzwerkpfad zu der Datei/Ordner.
Als Beispiel, die Datei befindet sich bei mir auf:
H:\Ordner845 der eigentliche Pfad ist jedoch: \\Blub01\Blob\Ordner845
Kennt jemand eine simple Möglichkeit diesen Pfad mit Rechtsklick -> Kompletter Pfad kopieren oder so ähnlich herauszubekommen?
Aktuell hab ich mir ein VBS Script zusammengebastelt, wofür ich allerdings immer die betreffende Datei oder Ordner auf die VBS Datei ziehen muss.
Das Script funktioniert einwandfrei.
MfG, FireEmerald
Edit:
Hatte eine Kleinigkeit in dem anderen Thread übersehen, wo ich den Grundbaustein für das Script her hatte^^
kompletten Dateipfad von Netzlaufwerk an Outlook übergeben
aktuell stellt sich mir folgendes Problem:
Ich habe im Arbeitsplatz sehr viele unterschiedliche Netzwerkordner angebunden.
Nun navigiere ich zu einer beliebigen Datei/Ordner in einem beliebigen Netzwerkordner und möchte den kompletten Netzwerkpfad zu der Datei/Ordner.
Als Beispiel, die Datei befindet sich bei mir auf:
H:\Ordner845 der eigentliche Pfad ist jedoch: \\Blub01\Blob\Ordner845
Kennt jemand eine simple Möglichkeit diesen Pfad mit Rechtsklick -> Kompletter Pfad kopieren oder so ähnlich herauszubekommen?
Aktuell hab ich mir ein VBS Script zusammengebastelt, wofür ich allerdings immer die betreffende Datei oder Ordner auf die VBS Datei ziehen muss.
Option Explicit
Dim OutlookApp, Mail
Dim strUncPfad, WShNetwork, colDrives, i, strPath, strClipPath
Dim fso, Path, DriveLetter
Dim Debug, CopyToClip, CanChoose, ClipExists
Dim Result
'# Config
Debug = False ' auf TRUE setzen für Meldungen
CanChoose = True ' auf TRUE setzen für ein Auswahlfenster
CopyToClip = True ' auf TRUE setzen für Kopie in Zwischenablage (Ist CanChoose auf TRUE, so wird dies ignoriert)
strClipPath = "\\<denkt euch den Pfad>\clip.exe"
'# Übergebenen Pfad vom Explorer auslesen
Set fso = CreateObject("Scripting.FileSystemObject")
If Debug Then wscript.echo "FSO: """ & fso.GetAbsolutePathName(wscript.arguments(0)) & """"
Path = fso.GetAbsolutePathName(wscript.arguments(0))
Set fso = nothing
DriveLetter = Ucase(Left(Path, 1))
Path = Mid(Path,3)
If Debug Then Wscript.Echo "Laufwerk: """ & DriveLetter & """ Pfad: """ & Path & """" ' Ausgabe des ersten Zeichen
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
Set colDrives = WshNetwork.EnumNetworkDrives
On Error Resume Next
If colDrives.Count > 0 Then
For i = 0 To colDrives.Count - 1 Step 1
If colDrives(i)=DriveLetter & ":" Then
If Debug Then wscript.echo """" & colDrives(i) & """ ist """ & colDrives(i+1) & """"
strUncPfad=colDrives(i+1)
End If
Next
End If
Set WshNetwork = nothing
Set coldrives = nothing
If (len( strUncPfad) = 0) Then
strUncPfad=DriveLetter & ":"
Else
If Debug Then wscript.echo "UNC-Pfad: [" & strUncPfad &"]"
End If
strPath = strUncPfad & Path
If Debug Then wscript.echo "strUncPfad + Path: [" & strPfad & "]"
If CanChoose Then
'# Auswahlbox anzeigen
Result = MsgBox ("In Outlook kopieren?", vbYesNo, "Outlook Abfrage")
Select Case Result
Case vbYes
CopyToClip = False
If Debug Then wscript.echo "CopyToClip = False"
Case vbNo
CopyToClip = True
If Debug Then wscript.echo "CopyToClip = True"
End Select
End If
If Not CopyToClip Then
'# Link an Outlook übergeben
Set OutlookApp = CreateObject ("Outlook.Application")
Set Mail = OutlookApp.CreateItem(0)
Mail.Display
with Mail
.HTMLBody = "<HTML><BODY><A href=""file:///" & strPath & """>" & strPath & "</A> </BODY></HTML>" & Mail.HTMLBody
End with
Else
'# Link in Zwischenablage kopieren
Set ClipExists = False
If CreateObject("Scripting.FileSystemObject").FileExists(CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) & "\Clip.exe") Then
If Debug Then wscript.echo "Clip.exe ist in """ & CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) & "\Clip.exe"", vorhanden."
ClipExists = True
Else
If Debug Then wscript.echo "Clip.exe fehlt. Es wird versucht die Clip.exe von, """ & strClipPath & """ nach, """ & CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) & "\Clip.exe"", zu kopieren."
CreateObject("Scripting.FileSystemObject").Copyfile strClipPath, CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) & "\Clip.exe"
If CreateObject("Scripting.FileSystemObject").FileExists(CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) & "\Clip.exe") Then
If Debug Then wscript.echo "Clip.exe erfolgreich kopiert!"
ClipExists = True
Else
If Debug Then wscript.echo "Clip.exe konnte nicht kopiert werden!"
End If
End If
'Link in Zwischenablage kopieren
If ClipExists Then CreateObject("WScript.Shell").Run "cmd /c <nul set /p""=" & strPath & """|" & CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2) & "\Clip.exe",0
End If
Das Script funktioniert einwandfrei.
MfG, FireEmerald
Edit:
Hatte eine Kleinigkeit in dem anderen Thread übersehen, wo ich den Grundbaustein für das Script her hatte^^
kompletten Dateipfad von Netzlaufwerk an Outlook übergeben
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 217908
Url: https://administrator.de/contentid/217908
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
2 Kommentare
Neuester Kommentar