Supportnet / Forum / Anwendungen(Java,C++...)
Batch-Datei und oif-Datei Fragen
Frage
Hallo,
ich habe eine Batchdatei geschrieben, die mir aus einem Verzeichnis Dateien nach Dateiendung sortiert in einzelne Verzeichnisse kopiert. Gestartet wird diese über den Windwos Taskplaner alle 3 Minuten.
Beispiel
@echo Kopieren der BEL-Dateien und Userdateien zur Sicherung
xcopy d:\Programme\BEL\config\* G:\Test\raus\backup /Y /D /E /I
@echo Kopieren der verschiedenen Dateiformate in gesonderte Ordner
for %%f in (g:\BCD\usr\*.avi) do move "%%f" g:\Test\w\__vorsortiert\avi
for %%f in (g:\BCD\usr\*.\*.doc) do move "%%f" g:\ Test\w \__vorsortiert\doc
for %%f in (g:\BCD\usr\*.*.gif) do move "%%f" g:\ Test\w \__vorsortiert\gif
Das funktioniert im Prinzip auch schon ganz gut so.
Für folgende Probleme suche ich nun noch nach einer Lösung:
Gelegentlich kommen in den Ordner, aus dem kopiert wird, auch Dateien anderere Formate. z.B. .xls. Nun möchte ich aber nicht für jede mögliche Dateiendung eine Move-Befehlszeile erstellen sondern dachte mir, daß es doch irgendwie möglich sein muß zu definieren, daß alles was übrig ist, in einen Ordner z.B. \rest kopiert wird. Vielleicht mit IF oder so??
Ich habe keinen Plan. Vielleicht hat jemand eine Idee.
Die andere Sache ist, daß ich gerne das Fenster, daß sich beim ausführen der Batch-Datei öffnet, versteckt wird oder wenigstens minimiert geöffnet wird.
Irgendwo habe ich gelesen, daß sich das mit einer PIF-Datei realisieren läßt. Ich habe noch nie mit PIF gearbeitet und keine Ahnung wie man die erstellt und welche Parameter sich setzen lassen.
Vielleicht hat auch dazu einer eine Idee.
schon mal vielen Dank für Hilfe und Anregungen.
schöne Grüße
yakini
ach so - Betriebsystem ist Win2kprof
Antwort 1 von disco
moin
kanns du nicht, wenn du alles nach deinen filtern weg-ge-moved hast, den rest mit *.* wegschieben?
zu deinem anderen problem:
http://www.derfisch.de/Downloads/func,fileinfo/id,10/
g,
disco
kanns du nicht, wenn du alles nach deinen filtern weg-ge-moved hast, den rest mit *.* wegschieben?
zu deinem anderen problem:
http://www.derfisch.de/Downloads/func,fileinfo/id,10/
g,
disco
Antwort 2 von yakini
..super, manchmal kommt man auf die einfachsten Dinge nicht selbst.
Irgendwie war mir nicht bewußt, daß die moves ja nacheinander abgearbeitet werden und ich wollte deshalb nicht mit *.* hantieren. Aber in der letzten Zeile geht das natürlich..
Vielen Dank für den Tip.
Und noch viel größeren Dank für den Link zu den zwei kleinen Progrämmchen. Damit ist nun auch das cmd-Fenster versteckt.
Das einzige Problem was nun noch ist, sind manchmal zu lange Dateinamen. Ab und zu sind Namen um die 100 (in Worten einhundert) Zeichen lang. (Bekloppt wer sowas macht... :-) ) Die werden mit dem Hinweis, "Dateiname zu lang" nicht gemoved. Könnt ich mit einem Auto-Renamer sicher kürzen, aber dann müsste der noch eine Liste erstellen - alter Dateiname - neuer Dateiname.
Aber da das eh seltener ist, kann das sicher auch per Hand erledigt werden.
yakini
Irgendwie war mir nicht bewußt, daß die moves ja nacheinander abgearbeitet werden und ich wollte deshalb nicht mit *.* hantieren. Aber in der letzten Zeile geht das natürlich..
Vielen Dank für den Tip.
Und noch viel größeren Dank für den Link zu den zwei kleinen Progrämmchen. Damit ist nun auch das cmd-Fenster versteckt.
Das einzige Problem was nun noch ist, sind manchmal zu lange Dateinamen. Ab und zu sind Namen um die 100 (in Worten einhundert) Zeichen lang. (Bekloppt wer sowas macht... :-) ) Die werden mit dem Hinweis, "Dateiname zu lang" nicht gemoved. Könnt ich mit einem Auto-Renamer sicher kürzen, aber dann müsste der noch eine Liste erstellen - alter Dateiname - neuer Dateiname.
Aber da das eh seltener ist, kann das sicher auch per Hand erledigt werden.
yakini

