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

If Schleife wird falsch interpretiert

Frage Entwicklung

Mitglied: Gansterjo2

Gansterjo2 (Level 1) - Jetzt verbinden

21.12.2012, aktualisiert 11:52 Uhr, 2039 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
Exchange Server
(Exchange 2013) Mails im Posteingang werden falsch interpretiert (1)

Frage von bigpansen zum Thema Exchange Server ...

Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

Frage von mp-home zum Thema Batch & Shell ...

Batch & Shell
gelöst Fehler in Schleife (2)

Frage von miczar zum Thema Batch & Shell ...

Batch & Shell
For Schleife in einer .sh Datei (4)

Frage von CrystalFlake zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(5)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...