Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

VBScript - Netzlaufwerk von gemappten Laufwerk unterscheiden

Frage Entwicklung VB for Applications

Mitglied: Hein-nieH

Hein-nieH (Level 1) - Jetzt verbinden

09.09.2013 um 18:57 Uhr, 1831 Aufrufe, 5 Kommentare

Netzwerklaufwerk vom gemappten Laufwerk unterscheiden

Hallo,

ich hoffe, dass ich hier im richtigen Forenbereich bin.
Mein Problem

In VBScript erhalte ich 2 absolute Pfade.
Nun möchte ich unterscheiden, ob die beiden Pfade identisch sind.
Hierbei benötige ich eine Lösung, um auch gemappte Pfade zu unterscheiden.

z.B.
U:\Eigene Dateien\Test und
\\MickeyMouse.local\user\home\Meier\Eigene Dateien

koenne ja das selbe Verzeichnis sein.
Ueber einen stringbasierten Verzeichnisvergleich komme ich nicht weiter.

Wie kann ich das in VBscript loesen.
Ueber einen Lösungsansatz waere ich sehr dankbar.

Gruss Hein_nieH
Mitglied: bastla
09.09.2013, aktualisiert um 19:43 Uhr
Hallo Hein-nieH!

Die Methode "EnumNetworkDrives" von "WScript.Network" könnte (zusammen mit einem "Replace()") helfen ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
09.09.2013, aktualisiert um 23:53 Uhr
Hallo Hein-nieH.

U:\Eigene Dateien\Test und
\\MickeyMouse.local\user\home\Meier\Eigene Dateien

koenne ja das selbe Verzeichnis sein.
Naja, nicht wirklich. Das Verzeichnis "Test" sollte dann auch im Netzwerkpfad erscheinen.

Ansonsten hat bastla aber die richtigen Stichworte genannt. Den Test kannst du in einer Funktion abwickeln, die dir einen Wahrheitswert zurückgibt.
Beispiel:
01.
Option Explicit 
02.
 
03.
Const strPath1 = "U:\Eigene Dateien\Test" 
04.
Const strPath2 = "\\MickeyMouse.local\user\home\Meier\Eigene Dateien\Test" 
05.
 
06.
If NetPathCompare(strPath1, strPath2) Then 
07.
  WScript.Echo "Gleich" 
08.
Else 
09.
  WScript.Echo "Ungleich" 
10.
End If 
11.
 
12.
 
13.
Function NetPathCompare(ByVal strPath_1, ByVal strPath_2) 
14.
  NetPathCompare = False 
15.
 
16.
  ' Der einfachste Fall ... Textvergleich. 
17.
  If StrComp(strPath_1, strPath_2, vbTextCompare) = 0 Then 
18.
    NetPathCompare = True 
19.
    Exit Function 
20.
  End If 
21.
 
22.
  ' Ansonsten versuchen Netzlaufwerke aufzulösen. 
23.
  Dim colDrives, strDrive_1, strDrive_2, strShare_1, strShare_2, i 
24.
  strDrive_1 = Left(strPath_1, 2) 
25.
  strDrive_2 = Left(strPath_2, 2) 
26.
  strShare_1 = strDrive_1 
27.
  strShare_2 = strDrive_2 
28.
  Set colDrives = CreateObject("WScript.Network").EnumNetworkDrives 
29.
  For i = 0 To colDrives.Count - 1 Step 2 
30.
    If StrComp(strDrive_1, colDrives.Item(i), vbTextCompare) = 0 Then 
31.
      strShare_1 = colDrives.Item(i + 1) 
32.
    End If 
33.
    If StrComp(strDrive_2, colDrives.Item(i), vbTextCompare) = 0 Then 
34.
      strShare_2 = colDrives.Item(i + 1) 
35.
    End If 
36.
  Next 
37.
  strPath_1 = Replace(strPath_1, strDrive_1, strShare_1, 1, 1, vbTextCompare) 
38.
  strPath_2 = Replace(strPath_2, strDrive_2, strShare_2, 1, 1, vbTextCompare) 
39.
  If StrComp(strPath_1, strPath_2, vbTextCompare) = 0 Then NetPathCompare = True 
40.
End Function
Voraussetzung dafür, dass das funktionieren kann ist, dass die Netzlaufwerke auf deinem PC genauso gemappt sind, wie auf der Quelle, von der du die Pfade beziehst.

Grüße
rubberman
Bitte warten ..
Mitglied: manuel-r
10.09.2013 um 00:35 Uhr
Man könnte in Pfad/Laufwerk 1 eine Textdatei erstellen und danach prüfen, ob eben diese Textdatei in Pfad/Laufwerk 2 jetzt auch existiert. Falls ja handelt es sich um das gleiche Ziel bzw. die gleiche Ressource
Nur mal so als Idee...
Bitte warten ..
Mitglied: Hein-nieH
10.09.2013 um 09:58 Uhr
Hallo Bastla,

die Idee ist gut und funktioniert bei mir auch.
Ich habe eine for each Schleife über EnumNetworkdrives laufen lassen und gepfüft, ob mein Dateipfad mit dem
Namen des Netzwerkpfades beginnt. Wenn ja, dann habe ich den Netzwerkpfad durch das gemappte Laufwerk
ersetzt.
Irgendwie bin ich gestern bei der Lösungssuche nicht drauf gekommen.

Gruss Hein-nieH
Bitte warten ..
Mitglied: Hein-nieH
10.09.2013 um 10:00 Uhr
Hallo Manuel-r,

die Idee ist gut und einfach nachvollziehbar.
Ich habe mich für die Lösung von Bastls entschieden.

Trotzdem vielen Dank.
Gruss Hein-nieH
Bitte warten ..
Ähnliche Inhalte
Windows Server
Laufwerke werden nicht immer gemappt (Windows) (7)

Frage von YotYot zum Thema Windows Server ...

Windows Netzwerk
Laufwerke per GPO mehrfach zugewiesen (5)

Frage von KLeinstein.tm zum Thema Windows Netzwerk ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Firewall
gelöst Firewall Firmeneimsatz (22)

Frage von wiesi200 zum Thema Firewall ...

Multimedia & Zubehör
gelöst 8 GB USB Stick besitzt nur noch 4 MB Kapazität (13)

Frage von Gwahlers zum Thema Multimedia & Zubehör ...