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. Sleep einbauen?

Frage Entwicklung VB for Applications

Mitglied: Vip0r

Vip0r (Level 1) - Jetzt verbinden

02.09.2008, aktualisiert 11:55 Uhr, 22550 Aufrufe, 3 Kommentare

Hallo zusammen,

ich hab ein VB-Script, welches im groben folgende Dinge durchführt:

- Standort ermitteln
- Username ermitteln
- Subst löschen
- Laufwerk mappen
- Bestimmte Dateien auf das neu gemappte Laufwerk kopieren.

Sporadisch kommt es jetz allerdings zu dem Problem, das er manchmal mit dem kopieren der Dateien anfangen will obwohl das Laufwerk wohl doch noch nicht 100 % gemapped ist.

Hier mal der verwendete Code für die kritischen Dinge. (Subst löschen und Laufwerk mappen funktioniert im Prinzip noch, lediglich die Dateien kann er nicht kopieren)

[code]
''Subst löschen:
Sub DelSubst
WshShell.run "subst.exe y: /D"
End Sub

''Laufwerk mappen
Sub HomeLaufwerkMappen(Server, Username)
WshShell.run "Net use Y: \\"&Server&"\zensiert
End Sub

''Files kopieren
Sub CopyNotes()
objFSO.CopyFolder "bla"
End if
End Sub
[/Code]

Jetz erstmal grundsätzlich eine Frage. Habt ihr ähnliche Probleme auch schonmal gehabt, oder liege ich völlig falsch mit meiner Vermutung, das es möglich ist, das das Script abbricht, weil eben besagtes Laufwerk noch nicht komplett geshared ist?
Gibt es eine Art "sleep"-Funktion innerhalb von vbscript?

Danke schonmal,

Andy
Mitglied: AndreasHoster
02.09.2008 um 09:40 Uhr
Wenn Du mit WshShell.run etwas startest, läuft das parallel zum Skript weiter. Daher kann der net use Befehl noch nicht fertig sein, wenn Du mit dem kopieren anfängst.
Und es gibt sleep, aber das wäre Anfängerprogrammierung.
Am Besten wäre es, net use durch
01.
Set wshnet = CreateObject("WScript.Network") 
02.
wshnet.MapNetworkDrive ">:","\\server\zensiert" 
zu ersetzen.
Alternativ kann man dem RUN Befehl auch sagen, daß er auf Abschluß warten soll.
01.
wshshell.run Command, WindowStyle, WaitOnReturn
WaitOnReturn = TRUE und es geht erst weiter, wenn der Befehl fertig ist.
Und zum Sleep:
01.
wscript.sleep dauer
Bitte warten ..
Mitglied: SchraderCC
02.09.2008 um 10:37 Uhr
Hallo Andy,

für deine Zwecke brauchst du keine "sleep" Funktion, sondern lediglich einen zusätzlichen Parameter - in deinem Falle so:

Dim strCommand
strCommand = "net net use y:\\" & servername & "\zensiert"
WshShell.run strCommand,,True

Der Schalter [True] läßt dein VBScript auf die vollständige Abarbeitung des externen Aufrufs warten, damit ist sichergestellt, dass das Lauferk gemappt ist.

Alternativ könnte man nach diesem Befehl noch in einer Schleife testen, ob du auf das gemappte Laufwerk zugreifen kann (mittels onjFSO-Methoden).

Gruß Bent
Bitte warten ..
Mitglied: Vip0r
02.09.2008 um 11:55 Uhr
Aja, hervorragend!

Die sauberste Lösung wäre wohl das mappen mittels des Wscript.Network Objekts. Da ich mir das komplette umcoden jedoch sparen möchte werd ich die Erweiterung WaitOnReturn einbauen.
Bitte warten ..
Ähnliche Inhalte
Visual Studio
gelöst VBScript und WMI (Win32-NetworkAdapterConfiguration) (3)

Frage von MaxMoritz6 zum Thema Visual Studio ...

Basic
VBScript erweitern für Subfolder (8)

Frage von 132078 zum Thema Basic ...

Windows 7
gelöst VBScript - HTML Probleme mit Schriftgröße (5)

Frage von MedicalAd zum Thema Windows 7 ...

VB for Applications
gelöst Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen (7)

Frage von aletri zum Thema VB for Applications ...

Neue Wissensbeiträge
Sicherheits-Tools

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

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Userverwaltung
gelöst Nicht Admins erlauben Verknüpfungen zu löschen (13)

Frage von WinLiCLI zum Thema Windows Userverwaltung ...