Hallo zusammen.
Es ist mir wirklich peinlich, aber ich komme einfach nicht darauf....
Ich mache in meiner batch ganz simple "if exist" Abfragen.
Frage ich damit den gesamten Datei/Ordnernamen ab funktioniert alles wunderbar.
Benutze ich aber Platzhalter (*.txt) bekomme ich bei der If Abfrage einen Syntaxfehler retour den ich mir nicht erklären kann.
Erstelle ich im selben Verzeichnis eine neue batch, die nichts anderes enthält als eine if Abfrage mit Platzhalter funktioniert es,
nur in meinem Code nicht. Ich komm nicht dahinter.
Es geht um den fett geschriebenen Teil hier:
:MOVELOCALIZEDITEMS
set "CurrentItem=!Item%Counter%!"
if "%CurrentItem%"=="next" goto MOVEUNLOCALIZEDITEMS
echo Aktuelles Item wird gesucht: %CurrentItem%
if exist "%CleanupPath%\%CurrentItem%" goto MLLI2
Antwort auf die if Abfrage mit * ist:
if exist "C:\Users\Stephan\Desktop\cleanup bat\Kasse\*.req" goto MLLI2
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
FINDSTR: C:\Users\Stephan\Desktop\cleanup bat\Kasse\*.req nicht gefunden kann nicht ge÷ffnet werden.
es ist ganz sicher nur eine dumme Kleinigkeit, aber ich werd langsam verrückt weil ich es nicht finde
Danke für Input
Es ist mir wirklich peinlich, aber ich komme einfach nicht darauf....
Ich mache in meiner batch ganz simple "if exist" Abfragen.
Frage ich damit den gesamten Datei/Ordnernamen ab funktioniert alles wunderbar.
Benutze ich aber Platzhalter (*.txt) bekomme ich bei der If Abfrage einen Syntaxfehler retour den ich mir nicht erklären kann.
Erstelle ich im selben Verzeichnis eine neue batch, die nichts anderes enthält als eine if Abfrage mit Platzhalter funktioniert es,
nur in meinem Code nicht. Ich komm nicht dahinter.
Es geht um den fett geschriebenen Teil hier:
:MOVELOCALIZEDITEMS
set "CurrentItem=!Item%Counter%!"
if "%CurrentItem%"=="next" goto MOVEUNLOCALIZEDITEMS
echo Aktuelles Item wird gesucht: %CurrentItem%
if exist "%CleanupPath%\%CurrentItem%" goto MLLI2
Antwort auf die if Abfrage mit * ist:
if exist "C:\Users\Stephan\Desktop\cleanup bat\Kasse\*.req" goto MLLI2
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
FINDSTR: C:\Users\Stephan\Desktop\cleanup bat\Kasse\*.req nicht gefunden kann nicht ge÷ffnet werden.
es ist ganz sicher nur eine dumme Kleinigkeit, aber ich werd langsam verrückt weil ich es nicht finde
Danke für Input
Code:
@echo off
title Cleanup
setlocal EnableDelayedExpansion
REM FarbFunktionen
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (set "DEL=%%a")
goto :COLOROFF
:COLOR
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof
:COLOROFF
cls
:PATHS
REM Pfad aus dem die Dateien entfernt werden sollen (Batch muss in diesem Verzeichnis liegen)
set "CleanupPath=%cd%"
REM Ordner in den die alten Dateien abgelegt werden, bevor sie später gelöscht werden
set "FilingPath=%CleanupPath%\Ablage alter Daten"
:CHECKPASSED
REM Ordnerstruktur für temporäre Ablage erstellen
if not exist "%FilingPath%" md "%FilingPath%"
if not exist "%FilingPath%\ZIP" md "%FilingPath%\ZIP"
if not exist "%FilingPath%\BMP" md "%FilingPath%\BMP"
if not exist "%FilingPath%\KREDITSTORNOFEHLER" md "%FilingPath%\KREDITSTORNOFEHLER"
if not exist "%FilingPath%\LOGS" md "%FilingPath%\LOGS"
:VARIABLES
set Counter=1
:LOCALIZEDITEMS
REM Definierte Ordern verschieben (nur aus dem Kassen-Root-Verzeichnis)
set "Item1=RPX"
set "Item2=TablexIF"
set "Item3=MF5.1"
set "Item4=32Bit"
set "Item5=64Bit"
set "Item6=Btrv615"
set "Item7=elpay"
set "Item8=HP"
set "Item9=HPBelege"
set "Item10=Kaufmann"
set "Item11=KB"
set "Item12=KDisp"
set "Item13=LIM"
set "Item14=LogFileConfig"
set "Item15=Resources"
set "Item16=XBonus"
set "Item17=BitmapsOld"
set "Item18=Grunddaten"
set "Item19=Neuer Ordner"
set "Item20=Install"
set "Item21=Drucker"
set "Item22=Textdokument.txt"
set "Item23=*.req"
set "Item24=ZLDISPf.lbr"
set "Item25=X3000-Ekarte*.txt"
set "Item26=*.ttf"
set "Item27=*.chk"
set "Item28=Tischplan.msi"
set "Item29=Kreditstorno*.#00"
set "Item30=bitmaps\*.alt"
set "Item31=bitmaps\*.exe"
set "Item32=bitmaps\*.dll"
set "Item33=bitmaps\*.err"
set "Item34=bitmaps\*.db"
set "Item35=bitmaps\*.rc"
set "Item36=bitmaps\*.res"
set "Item37=bitmaps\*.bat"
set "Item38=bitmapsfax\*.bmp"
set "Item39=asl.bat"
set "Item40=copyDllsV15.01.bat"
set "Item41=copyt.bat"
set "Item42=daten0.bat"
set "Item43=delmf.bat"
set "Item44=deltxt.bat"
set "Item45=protaus.bat"
set "Item46=protein.bat"
set "Item47=regti.bat"
set "Item48=regtiauto.bat"
set "Item49=reorg.bat"
set "Item50=restore_tischplan.bat"
set "Item51=retourd.bat"
set "Item52=retourp.bat"
set "Item53=save_tischplan.bat"
set "Item54=setaslm.bat"
set "Item55=sichernd.bat"
set "Item56=sichernp.bat"
set "Item57=starttablet.bat"
set "Item58=teile.bat"
set "Item59=teileb.bat"
set "Item60=teilec.bat"
set "Item61=tischplanmsiauto.bat"
set "Item62=tpmsi.bat"
set "Item63=update.bat"
set "Item64=update_Tischplan.bat"
set "Item65=next"
:CLEANUP
cls
echo.
call :COLOR 9 "------------------------------------------------------------------"
echo.
call :COLOR 9 "- Cleanup gestartet Programm nicht beenden! -"
echo.
call :COLOR 9 "------------------------------------------------------------------"
echo.
echo.
echo.
:MOVELOCALIZEDITEMS
set "CurrentItem=!Item%Counter%!"
if "%CurrentItem%"=="next" goto MOVEUNLOCALIZEDITEMS
echo Aktuelles Item wird gesucht: %CurrentItem%
if exist "%CleanupPath%\%CurrentItem%" goto MLLI2
call :COLOR E "%CleanupPath%\%CurrentItem% nicht gefunden"
echo.
set /a Counter=%Counter%+1
goto MOVELOCALIZEDITEMS
:MLLI2
echo Aktuelles Item wird kopiert: %CurrentItem%
if exist "%FilingPath%\%CurrentItem%" ren "%FilingPath%\%CurrentItem%" "%CurrentItem%_%random%"
MOVE /y "%CleanupPath%\%CurrentItem%" "%FilingPath%" >nul
if %Errorlevel%==0 call :COLOR A "%CleanupPath%\%CurrentItem% wurde verschoben"&& echo.&&goto MLLI3
call :COLOR C "%CleanupPath%\%CurrentItem% Fehler beim verschieben!"
echo.
:MLLI3
set /a Counter=%Counter%+1
goto :MOVELOCALIZEDITEMS
:MOVEUNLOCALIZEDITEMS
REM folgt später
:SUCCESS
echo.
echo.
echo.
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
echo.
echo Cleanup abgeschlossen.
echo.
echo Die alten Dateien wurden in den Ordner %filingPath% verschoben
echo.
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause
exit