{"id":43,"date":"2015-03-12T18:28:17","date_gmt":"2015-03-12T16:28:17","guid":{"rendered":"http:\/\/invidit.de\/blog\/?p=43"},"modified":"2015-07-04T14:37:58","modified_gmt":"2015-07-04T12:37:58","slug":"refactoring-des-invidfiledeleters","status":"publish","type":"post","link":"https:\/\/invidit.de\/blog\/refactoring-des-invidfiledeleters\/","title":{"rendered":"Refactoring des InvidFileDeleters"},"content":{"rendered":"<p>Hallo Spa\u00df-Coder.<\/p>\n<p>vor einiger Zeit haben wir einmal ein\u00a0 Werkzeug entwickelt, mit dessen Hilfe man Dateien basierend auf einem \u00fcbergebenen regul\u00e4ren Ausdruck l\u00f6schen kann: der <a title=\"InvidFileDeleter\" href=\"http:\/\/invidit.de\/blog\/downloads\/invidfiledeleter\/\">InvidFileDeleter<\/a>.<\/p>\n<p>Der FileDeleter ist ein Kommandozeilenwerkzeug, dem ein Quellverzeichnis und ein regul\u00e4rer Ausdruck \u00fcbergeben wird und das dann genau die Dateien im angegebenen Verzeichnis l\u00f6scht, die dem Ausdruck entsprechen. Hinzu kommt die M\u00f6glichkeit, Unterverzeichnisse einzubeziehen und das l\u00f6schen zun\u00e4chst du simulieren.<\/p>\n<p>Die Ausgabe f\u00fcr die Verwendung auf der Kommandozeile sieht folgenderma\u00dfen aus:<\/p>\n<blockquote>\n<div>DeleteFiles\u00a0 &#8211; \u00a9 2011 Invid IT<br \/>\nDeletes files identified by a regular expression.Usage: FileDeleter.exe directory regex [\/subfolders \/simulate \/verbose]directory\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 The main path where the deletion should start.<br \/>\nregex\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 A valid regular expression which identifies the files to delete.<br \/>\n\/subfolders\u00a0\u00a0\u00a0\u00a0 Flags whether to also delete files in subfolders.<br \/>\n\/verbose\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flags whether to output more information about deletion.<br \/>\n\/simulate\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flags whether to really delete the files or just to give a list of files that would be deleted.<\/div>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>Der Invid File Deleter funktioniert prima. Er verrichtet seinen Job gut und zuverl\u00e4ssig. Warum soll das Werkzeug refactored werden? Es gibt zwei Antworten auf die Frage.<\/p>\n<ol>\n<li>Das Werkzeug ist so, wie es derzeit aufgebaut ist, nicht erweiterbar, ohne zu riskieren, die derzeitige Funktion kaputt zu machen.<\/li>\n<li>Weil der Code schon fast 4 Jahre alt ist und wir mittlerweile viel besseren Code schreiben k\u00f6nnen&#8230;und wollen. Sch\u00f6nen Code schreiben macht einfach Spa\u00df!<\/li>\n<\/ol>\n<p>In den kommenden Artikeln m\u00f6chten wir euch Schritt f\u00fcr Schritt zeigen, wie wir den Invid File Deleter erweiterbar und besser wartbar machen.<\/p>\n<p>Viel Spa\u00df bei den folgenden Artikeln,<\/p>\n<p>eure Spa\u00df-Coder<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hallo Spa\u00df-Coder. vor einiger Zeit haben wir einmal ein\u00a0 Werkzeug entwickelt, mit dessen Hilfe man Dateien basierend auf einem \u00fcbergebenen regul\u00e4ren Ausdruck l\u00f6schen kann: der InvidFileDeleter. Der FileDeleter ist ein Kommandozeilenwerkzeug, dem ein Quellverzeichnis und ein regul\u00e4rer Ausdruck \u00fcbergeben wird und das dann genau die Dateien im angegebenen Verzeichnis l\u00f6scht, die dem Ausdruck entsprechen. Hinzu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":156,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[90],"tags":[],"_links":{"self":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/43"}],"collection":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":16,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":177,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/43\/revisions\/177"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/media\/156"}],"wp:attachment":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/media?parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/categories?post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/tags?post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}