Batch-Datei, um Dateien im Round-Robin-Verfahren in Verzeichnisse zu verschieben


1

Ich versuche, eine Batch-Datei zu haben, die ".doc" -Dateien in einen Ordner verschiebt. Der Trick ist, dass ich drei Benutzerordner mit den Namen Mark, Luke und John habe, in die diese Dateien verschoben werden sollen. Beispiel: aa.doc befindet sich in einem Ordner und wird in den Markierungsordner verschoben. Wenn dann die nächsten Dateien aa1.doc eingehen, wird sie in Lukes Ordner verschoben. Die nächste Datei wird in den John-Ordner verschoben. Bei diesem Vorgang werden die Dateien gleichmäßig in den drei Benutzerordnern verteilt

Weiß jemand, wie man das macht?


1
Muss das Round-Robin-Tracking zwischen den Läufen bestehen bleiben? Oder kann das Round Robin wieder mit mark beginnen?
Brian Adkins

Antworten:


1

Versuche dies:

@echo off &setlocal
SET "target0=Marcella"
SET "target1=Lucca"
SET "target2=Daniella"

FOR %%A IN (*.doc) DO (
    SET /a counter+=1
    SET /a pointer=counter%%3
    SET "file=%%~A"
    SETLOCAL ENABLEDELAYEDEXPANSION
    CALL SET "target=%%target!pointer!%%"
    ECHO MOVE "!file!" "!target!"
    ENDLOCAL
)

ECHO MOVE "! File!" Ist das, was ich in das Dateiverzeichnis gestellt habe?
Alvin

Marcella, LuccaUnd Daniellaist das Ziel Unterordner. Sie können den Quellordner von einem Set - cdBefehl: cd /d X:\Users\Me\Doc Files.
Endoro

0

Etwas wie das:

@echo off
Rem allow for reusable variables
SETLOCAL ENABLEDELATEDEXPANSION

Set mark=0
Set luke=1
Set david=2

Rem drawing from your example
set prefix=aa

for /f "usebackq tokens=*" %%i in (`dir /b *.doc`) do (
        Rem strips file extension

        set file=%%~ni 

        setfilename=%%i

        Rem extracts numeric substring

        set num=%file:%~prefix%=%

        )

       Rem Divide num by 3 and return remainder

       set mod=(%num%) % 3
       if %mod%==%mark% (move %filename% Mark)
       if %mod%==%luke% (move %filename% Luke) else (move %filename% David)

endlocal
exit /b

Dies erfordert möglicherweise Anpassungen für Ihre genauen Anforderungen, bringt Sie jedoch auf Kurs.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.