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, 2002 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Zwei Ergänzungen in einer For Schleife

Frage von charmeur zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Schleife mit Unterverzeichnissen, die Ausgabe kürzen (tokens evtl.) (5)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst For Schleife für Abgleich mit Text-Datei und Unterverzeichnisse (4)

Frage von grisur zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Viren und Trojaner
gelöst Wie werde ich den Mist "fanli90" wieder los? (18)

Frage von Taumel zum Thema Viren und Trojaner ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (16)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...