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
GELÖST

If Schleife wird falsch interpretiert

Frage Entwicklung

Mitglied: Gansterjo2

Gansterjo2 (Level 1) - Jetzt verbinden

21.12.2012, aktualisiert 11:52 Uhr, 2015 Aufrufe, 5 Kommentare

Hallo Zusammen

Ich habe heute bemerkt, dass ich beim erstellen des Scripts ein Komisches Phänomen hervorrufe und zwar geht es darum, dass wenn ich beim untenstehenden Code die Variable 'IntTage' mit 10 abfülle.
Werden die Ordner analysiert und ich bei if immer in die Schleife mit der Msgbox "Kleiner" komme.

Hat da jemand eine Idee, wo der Hund begraben sein könnte?

01.
Set objFSO = CreateObject("Scripting.FileSystemObject")  
02.
 
03.
 
04.
if WScript.Arguments.Count = 2 Then 
05.
	strOrdner = WScript.Arguments.item(0) 'Der Wert1 wird gesetzt. 
06.
	intTage = WScript.Arguments.item(1) 'Der Wert2 wird gesetzt. 
07.
else 
08.
	msgbox ("Syntax: Test.vbs Argument1 Argument2") 
09.
end if 
10.
 
11.
 
12.
strExtension = ""  
13.
Set objOrdner = objFSO.GetFolder(strOrdner)  
14.
intZahl = 0  
15.
For Each objDatei In objOrdner.Files  
16.
    If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _   
17.
        And DateDiff("d", objDatei.DateCreated, Now) > intTage Then  
18.
        objDatei.Delete  
19.
        intZahl = intZahl + 1  
20.
    End If  
21.
Next  
22.
For Each objUnterordner In objOrdner.SubFolders   
23.
 
24.
diff = DateDiff("d", objUnterordner.DateCreated, Now) 
25.
diff1 = 2 
26.
msgbox diff 
27.
	if diff < intTage then 
28.
		msgbox "kleiner" 
29.
	else 
30.
		msgbox "grosser" 
31.
	end if
Freundliche Grüsse Gansterjo2
Mitglied: Gansterjo2
21.12.2012 um 12:49 Uhr
Die IF Schleife mit den beiden MSGboxes entscheidet sozusagen Inventiert also, wenn etwas falsch ist, setzt er es einfach als Richtig und umgekehrt.
Bitte warten ..
Mitglied: 76109
21.12.2012 um 13:02 Uhr
Hallo Gansterjo2!

Versuchs mal mit:
01.
intTage =  CInt(WScript.Arguments.item(1))
Gruß Dieter
Bitte warten ..
Mitglied: Gansterjo2
21.12.2012 um 13:06 Uhr
Hallo Dieter

Vielen Dank für die Antwort, nun habe ich noch eine Frage...

Was bedeutet 'CInt' ?

Gruss Beat
Bitte warten ..
Mitglied: 76109
21.12.2012, aktualisiert um 13:18 Uhr
Hallo Gansterjo2!

Naja, da gibt's noch mehr von z.B. CLng, CDbl, CDate, CStr ...
Mit den Konvertierungsfunktionen wandelst Du einen bestimmten Datentyp in Dein gewünschtes Format um. In Deinem Fall einen String in einen Zahlenwert vom Typ Integer.

Und das hier
01.
If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension)
würde ich so machen
01.
If LCase(objFSO.GetExtensionName(objDatei.name)) = "xyz" Then
Gruß Dieter
Bitte warten ..
Mitglied: Gansterjo2
21.12.2012 um 14:06 Uhr
Hallo Dieter

Vielen Dank für die Erklärung. Ich wäre nicht darauf gekommen

Gruss Gansterjo2
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel formatiert falsch (1)

Frage von kellbidden zum Thema Microsoft Office ...

Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Voice over IP
gelöst VoIP - Was kann man alles falsch machen? (20)

Frage von MegaGiga zum Thema Voice over IP ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Batch & Shell
Skripterstellung Lehrling (22)

Frage von 133119 zum Thema Batch & Shell ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

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