ingi70
Goto Top

Move if exist Datum anhängen

Hallo,

verzweifle mal wieder an einem Batch und google wird auch nichts aussagekräftiges raus.

Ich möchte gerne Dateien von a nach b verschieben. Sollte der Dateiname in b bereits vorhanden sein, soll Datei in a mit Zeitstempel verschoben werden.

Beispiel

mappe1.xls gibt es bereits in b, also soll mappe1.xls als mappe1201305031134.xls verschoben werden...

Irgendwer hat das Problem doch bestimmt schonmal gelöst und hat ein Codeschnipsel für mich ?

Danke im Voraus
Lg Ingo

Content-Key: 205990

Url: https://administrator.de/contentid/205990

Printed on: April 16, 2024 at 17:04 o'clock

Member: Hitman4021
Hitman4021 May 03, 2013 at 09:40:57 (UTC)
Goto Top
Hallo,

sowas in der Art
if exist {$NEW_DIR%\%FILENAME%} (
    mv %OLD_DIR%\%FILENAME% $NEW_DIR%\%FILENAME%-%date%
) else (
    mv %OLD_DIR%\%FILENAME% $NEW_DIR%\%FILENAME%
)
Member: bastla
bastla May 03, 2013 at 09:47:21 (UTC)
Goto Top
Hallo inigi70!

Grundsätzlich etwa so:
@echo off & setlocal
set "Von=D:\a"  
set "Nach=D:\b"  

set "Timestamp=%date:~-4%%date:~-7,2%%date:~-10,2%%time:~,2%%time:~3,2%"  
for /f "delims=" %%i in ('dir /b/a-d "%Von%"') do (  
    if not exist "%Nach%\%%i" (  
        move "%Von%\%%i" "%Nach%\"  
    ) else (
        move "%Von%\%%i" "%Nach%\%%~ni%Timestamp%%%~xi"  
    )
)
Sofern nicht alle Dateien verschoben werden sollen, in Zeile 5 eine passende Suchmaske verwenden, also etwa:
for /f "delims=" %%i in ('dir /b/a-d "%Von%\*.xls"') do (
Grüße
bastla
Member: ingi70
ingi70 May 03, 2013 at 09:59:09 (UTC)
Goto Top
Boa seit ihr schnell..
vielen Dank, es klappt