IF ELSE mit EQU
Hallo Zusammen.
Irgendwie habe ich ein Knoten im Kopf. Bestimmt findet jemand meinen Fehler im nachfolgenden Script.
Zunächst aber meinen Ausgangspunkt:
Ich habe einen Order, wo viele Bilder vorliegen. Die Bezeichnungen dieser Dateien beginnen entweder mit einem "A" oder mit einem "$" oder eben mit keinem dieser Präfixe.
Diese sollen nun in einem Verzeichnis verschoben werden (Jahr/Monat), da Sie auch je nach Präfix unterschiedlich lange Bezeichungen haben.
Beispiel:
Ich möchte also prüfen, welches Präfix vorliegt (IF ==), um dann mit GOTO auf die richtge MOVE-Action zuweisen zu können.
Aber irgendwie klappt das mit dem "IF ELSE" nicht so ganz.
Viele Grüße
Irgendwie habe ich ein Knoten im Kopf. Bestimmt findet jemand meinen Fehler im nachfolgenden Script.
Zunächst aber meinen Ausgangspunkt:
Ich habe einen Order, wo viele Bilder vorliegen. Die Bezeichnungen dieser Dateien beginnen entweder mit einem "A" oder mit einem "$" oder eben mit keinem dieser Präfixe.
Diese sollen nun in einem Verzeichnis verschoben werden (Jahr/Monat), da Sie auch je nach Präfix unterschiedlich lange Bezeichungen haben.
Beispiel:
$123456789-20220104.jpg
$234567890-20220104.jpg
A12345-20220104.jpg
A23456-20220104.jpg
1234567-20220104.jpg
0123456-20220104.jpg
Ich möchte also prüfen, welches Präfix vorliegt (IF ==), um dann mit GOTO auf die richtge MOVE-Action zuweisen zu können.
Aber irgendwie klappt das mit dem "IF ELSE" nicht so ganz.
Viele Grüße
@echo off &setlocal
set "dest=U:\Z-TESTUMGEBUNG\Server"
set "src=U:\Z-TESTUMGEBUNG\Uebergabe\*"
:START
:: ==================================================================================
@echo.call :Move_Bilder
call :Move_Bilder
:Move_Bilder
for /f "tokens=1-3*" %%i in ('dir /a-d /tc "%src%.jpg"^|findstr /vbc:" "') do
(
set "fname=%%l"
setlocal EnableDelayedExpansion
REM Hier kürze ich den Namen auf 1-Stelle, um später den Vergleich zu machen
Set "kname=!fname:~0,1!"
echo !kname!
if !kname!=="A" (
goto AL
) else (
if !kname!=="$" (
goto DOL
)
)
REM md %dest%\!fname:~9,-15! 2>nul
Echo Verschiebe Datei %%l nach %dest%\!fname:~9,-15!
REM move %%l %dest%\!fname:~9,-15!\!fname:~9,-15!
echo --------------------------------------------
)
goto :ENDE
REM ##################################################
:AL
echo !fname!
REM md %dest%\!fname:~10,-15! 2>nul
Echo Verschiebe Datei %%l nach %dest%\!fname:~10,-15!
REM move %%l %dest%\!fname:~9,-15!\!fname:~10,-15!
goto :ENDE
REM ##################################################
:DOL
echo !fname!
REM md %dest%\!fname:~14,-15! 2>nul
Echo Verschiebe Datei %%l nach %dest%\!fname:~13,-13!
REM move %%l %dest%\!fname:~9,-15!\!fname:~13,-13!
goto :ENDE
REM ##################################################
:ENDE
endlocal
COLOR 0A
Echo fertig !!
Pause
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5210354157
Url: https://administrator.de/contentid/5210354157
Ausgedruckt am: 24.11.2024 um 01:11 Uhr
2 Kommentare
Neuester Kommentar