Top-Themen

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

Frage Entwicklung Visual Studio

Einige Unterordner löschen, einige nicht mit Visual Basic 2008 Express

Mitglied: SWuser

SWuser (Level 1) - Jetzt verbinden

07.12.2010, aktualisiert 11:11 Uhr, 4426 Aufrufe, 3 Kommentare

Hallo Comunity!

Ich habe folgendes Problem:

Ich habe einige automatisch erstellte Archivordner. Diese enthalten Unterordner die nach dem entspr. Monatsdatum benannt werden (bspw: 06-2010).
Jetzt möchte ich mit Visual Basic 2008 die alten Ordner löschen. Es sollen aber die 6 aktuellsten Monate nicht gelöscht werden.
Diese habe ich folgendermaßen herausgefiltert:

Dim a As String = Date.Today.ToString("M-yyyy")
Dim b As String = Date.Now.Month.ToString
Dim c As String = b - 5 & Date.Today.ToString("-yyyy")
Dim d As String = b - 4 & Date.Today.ToString("-yyyy")
Dim ee As String = b - 3 & Date.Today.ToString("-yyyy")
Dim f As String = b - 2 & Date.Today.ToString("-yyyy")
Dim g As String = b - 1 & Date.Today.ToString("-yyyy")


Löschen würde ich so:
IO.Directory.Delete(Pfad, True)

Wie kann ich dort jetzt die Ausnahmen einfügen? Bspw: IO.Directory.Delete(Pfad, Ausgenommen a c d ee f g, True)

Ich hoffe, dass jemand mein "Problem" versteht.
Ich bin auch für andere Lösungsvorschläge offen!

Gruß
Felix
Mitglied: SlainteMhath
07.12.2010 um 11:34 Uhr
Moin.

du musst die Verz.-Ebene über deinem Pfad durchlaufen und alles löschen was nicht deinen Kriterien entspricht:
.Etwa so:
01.
for each dir as ... in io.GetDirectories(Pfad) 
02.
  if dir.path <> c and dir.path <> d..... then 
03.
    io....delete(dir,true) 
04.
  end if 
05.
next
Genauen Syntax btw Klassennamen musst du dir selbst raussuchen, hab z.Zt. kein VS installietr.

lg,
SLainte
Bitte warten ..
Mitglied: bastla
07.12.2010 um 11:51 Uhr
... oder, da die Ermittlung von c, d, e, ... ohnehin ziemlich fragwürdig ist (ungetesteter Ansatz):
01.
Dim i as Integer, Excl As String = "#" 
02.
For i = -5 To 0 
03.
    Excl = Excl & DateAdd(DateInterval.Month, i, Date.Today).ToString("M-yyyy") & "#" 
04.
Next 
05.
Dim Folder, FolderName As String 
06.
For Each Folder In IO.Directory.GetDirectories("D:\Archiv") 
07.
    FolderName = Mid(Folder, InStrRev(Folder, "\") + 1) 
08.
    If InStr(Excl, "#" & FolderName & "#") = 0 Then IO.Directory.Delete(Folder, True) 
09.
Next
Dem Beispiel "06-2010" entsprechend wäre übrigens die Formatierung mit "MM-yyyy" passender ...

BTW: Die Schreibweise "M-JJJJ" (oder auch "MM-JJJJ") für die Monatsordner finde ich suboptimal - abgesehen von der besseren Sortierbarkeit würde sich mit "JJJJ-MM" das Ganze darauf reduzieren, den String für den ersten nicht zu löschenden Monat zu ermitteln und danach einfach per
If FolderName < EntsprechenderMonat Then ...
zu vergleichen.

Grüße
bastla
Bitte warten ..
Mitglied: SWuser
07.12.2010 um 14:26 Uhr
Danke euch beiden! Hab es hinbekommen.

@bastla: Die Namenskonvention der Ordner ist leider "historisch gewachsen". Da auf diese Ordner noch einige andere Prozesse zugreifen ist es sehr mühsehlig dies umzustellen. Ich gebe dir aber recht.
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Visual Basic für anfänger
gelöst Frage von Daoudi1973Visual Studio12 Kommentare

ich möchte Visual Basic lernen, kann jemand mir Tipps geben. PS: ich habe nur im 1999 mit Fortran 90 ...

VB for Applications
Visual Basic Checkbox drucken?
gelöst Frage von GERz0cKErZVB for Applications10 Kommentare

Hallo, ich habe ein Programm wo man mehrere checkboxen anklicken kann. Der Text der checkboxen soll am Ende gedruckt ...

Visual Studio
Bitcoin-Miner mit Visual Basic ?
Frage von Aicher1998Visual Studio2 Kommentare

Hallo, kennt jemand einen Ansatz, wie ich mit Visual Basic Bitcoins mine? Ich würde auch auf eine Python-DLL zurückgreifen ...

Visual Studio
Pastebin auslesen mit Visual Basic?
gelöst Frage von UltraZzVisual Studio2 Kommentare

Hey,ich würde gerne wissen wie man (z.B. für ein Passwort welches man immer wieder ändern kann,ohne das Programm zu ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 4 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 22 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 23 StundenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen21 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit18 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...