Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 1800 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
Cloud-Dienste
WEB-Ordner als lokales Laufwerk mappen : IIS 7 mit WEBdav (6)

Frage von MeinGottWalter zum Thema Cloud-Dienste ...

Windows Server
WIndows 2016 Boot-Laufwerk und Systemlaufwerk verschieden (1)

Frage von Kurti06 zum Thema Windows Server ...

Windows Server
gelöst Windows Server Bare Metal Backup - Laufwerk D: - Das Volume enthält Systemdaten?! (10)

Frage von tobitobsn zum Thema Windows Server ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

Server-Hardware
gelöst SPP von HP Abwärtskompatibel? (14)

Frage von fireskyer zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...