Hallo,
ist die Aktion im Titel auch automatisiert, z.B. mit Cmd Line in TS ausführbar?
Finde die älteste Datei im Verzeichnis und verschiebe diese
Moderators: Hacker, Stefan2, white
Finde die älteste Datei im Verzeichnis und verschiebe diese
[face=courier]So, bin zurück, und hier ist mein zweiter Versuch.[/face]
2jendris
Probier mal diese Batch aus:
- Code als Textdatei mit CMD Erweiterung abspeichern.
- Diese Datei auf die Buttonbar ziehen.
- Klick mit rechter Maustaste auf den neuen Button und "Ändern"
REM :: TC-Button
REM :: Command : "%COMMANDER_PATH%\TOOLs\CMDs\5\Move Oldest.cmd"
REM :: Pfad zur Batchdatei.
REM :: Parameter: "%P" "C:\Temp\a"
REM :: %P ist ein TC Parameter. Drücke die F1-Taste im Button-Dialog für weitere Hilfe.
REM :: Der Zweite Parameter ist der gewünschte Zielordner, oder zB "%T".
REM :: Startpfad: leer lassen
REM :: Icon: %COMMANDER_PATH%\WCMICONS.DLL
REM :: Tooltip: Move oldest file
Was macht dieser Befehl?
- Für jede Zeile einer Ausgabe >> for /f %%F in ('') Do etwas
- Was soll gemacht werden? (etwas), hier >> MOVE %%F(aktuelle Zeile) nach "C:\Temp"
- Erstelle die Ausgabe hier mittels >> dir /O-D /A-D /b
Was macht der DIR Befehl?
- benutze 'dir /?' zur Anzeige der Hilfe.
- /O-D >> sortiere nach Datum ( Minuszeichen zur Umkehr der Anzeige: Jüngste zuerst )
- /A-D >> Auflistung anhand von Attribute, hier Directories ( Minuszeichen zur Umkehr der Anzeige: keine Ordner, also nur Dateien )
- /B >> Zeige nur die Namen, ohne Metadaten wie Größe oder Datum und ohne Zusammenfassung.
Der Trick ist hier
- es wird absteigend nach Datum sortiert.
- die For-Schleife schreibt jeweils die aktuelle Zeile in die Variable oldest.
- am Ende ist in der Variable oldest die älteste Datei. Diese wird dann verschoben.
Alle diese Befehle haben eine Hilfe
Lies 'for /?' und 'dir /?' , 'cmd /?' , 'copy /?' , move /?' zur Erklärung.
HTH?
2jendris
Probier mal diese Batch aus:
- Code als Textdatei mit CMD Erweiterung abspeichern.
- Diese Datei auf die Buttonbar ziehen.
- Klick mit rechter Maustaste auf den neuen Button und "Ändern"
REM :: TC-Button
REM :: Command : "%COMMANDER_PATH%\TOOLs\CMDs\5\Move Oldest.cmd"
REM :: Pfad zur Batchdatei.
REM :: Parameter: "%P" "C:\Temp\a"
REM :: %P ist ein TC Parameter. Drücke die F1-Taste im Button-Dialog für weitere Hilfe.
REM :: Der Zweite Parameter ist der gewünschte Zielordner, oder zB "%T".
REM :: Startpfad: leer lassen
REM :: Icon: %COMMANDER_PATH%\WCMICONS.DLL
REM :: Tooltip: Move oldest file
Code: Select all
@ECHO OFF
REM :: Batch for TotalCommander to find and move oldes file. v00.3 by Stefan, 2015-11-21
REM :: Found at http://ghisler.ch/board/viewtopic.php?p=302388#302388
REM :: TC-Button
REM :: Command : "%COMMANDER_PATH%\TOOLs\CMDs\5\Move Oldest.cmd"
REM :: Pfad zur Batchdatei.
REM :: Parameter: "%P" "C:\Temp\a"
REM :: %P ist ein TC Parameter. Drücke die F1-Taste im Button-Dialog für weitere Hilfe.
REM :: Der Zweite Parameter ist der gewünschte Zielordner, oder zB "%T".
REM :: Startpfad: leer lassen
REM :: Icon: %COMMANDER_PATH%\WCMICONS.DLL
REM :: Tooltip: Move oldest file
SET SourceFld=%~1
SET TargetFld=%~2
IF "%SourceFld%"=="" GOTO _ERROR
IF "%TargetFld%"=="" GOTO _ERROR
For /F "tokens=*" %%F in ('dir /O-D /A-D /B "%SourceFld%"') Do @SET oldest=%%F
ECHO Really MOVE "%oldest%" -to- "%TargetFld%" ?
ECHO Strg+C zum Abbrechen. Beliebige Taste zum verschieben.
PAUSE
MOVE "%oldest%" "%TargetFld%"
GOTO :EOF
:_ERROR
ECHO. & ECHO. & ECHO ERROR. Script ends here. & ECHO. & ECHO Usage:
TYPE %0 | Find "REM :: " | Find /v /i "TYPE" & ECHO. & ECHO. & PAUSE
REM EOF
Was macht dieser Befehl?
- Für jede Zeile einer Ausgabe >> for /f %%F in ('') Do etwas
- Was soll gemacht werden? (etwas), hier >> MOVE %%F(aktuelle Zeile) nach "C:\Temp"
- Erstelle die Ausgabe hier mittels >> dir /O-D /A-D /b
Was macht der DIR Befehl?
- benutze 'dir /?' zur Anzeige der Hilfe.
- /O-D >> sortiere nach Datum ( Minuszeichen zur Umkehr der Anzeige: Jüngste zuerst )
- /A-D >> Auflistung anhand von Attribute, hier Directories ( Minuszeichen zur Umkehr der Anzeige: keine Ordner, also nur Dateien )
- /B >> Zeige nur die Namen, ohne Metadaten wie Größe oder Datum und ohne Zusammenfassung.
Der Trick ist hier
- es wird absteigend nach Datum sortiert.
- die For-Schleife schreibt jeweils die aktuelle Zeile in die Variable oldest.
- am Ende ist in der Variable oldest die älteste Datei. Diese wird dann verschoben.
Alle diese Befehle haben eine Hilfe
Lies 'for /?' und 'dir /?' , 'cmd /?' , 'copy /?' , move /?' zur Erklärung.
HTH?