Batch - Wieso will diese Datei nicht funktionieren?

Hi Leute,

ich bin am Verzweifeln bei der leichtesten Sache in Batch überhaupt.
Prüfen ob die Datei da ist oder nicht.

Mir wirft die CMD aus, dass syntaktisch etwas nicht stimmen würde (nicht verarbeitet werden kann) und ich frage mich was.

Meine CMDs hier.

Funktioniert:

###################################################

@echo off
title LW

REM cd /d %~dp0
set file=D:\share\Links.txt

:start
timeout 5 1>nul

for %%A in ("%file%") do if %%~zA==0 (
REM echo Datei ist leer
goto start
) else (
REM cls
REM echo Datei hat Inhalt - Kopiere folgenden Inhalt in Zwischenablage
REM echo.
REM echo %%~zA
type %file%
echo.
echo.
type %file%|clip
echo 0>%file% 1>nul
goto start
)

###################################################

Funktioniert nicht:

###################################################

@echo on
title LW

if exists D:\share\Links.txt
(
set file=D:\share\Links.txt
:start
timeout 5 1>nul

for %%A in ("%file%") do if %%~zA==0
(
REM echo Datei ist leer
goto start
) else (
REM cls
REM echo Datei hat Inhalt - Kopiere folgenden Inhalt in Zwischenablage
REM echo.
REM echo %%~zA
type %file%
echo.
echo.
type %file%|clip
echo 0>%file% 1>nul
goto start
) else (
exit
)

###################################################

Könnt ihr den Fehler erkennen?

Das ärgert mich sowas von. Was fehlt ihm?

Vielen Dank euch!
 
@schmutzpuckel Ich denke du kannst mich hier zerlegen
 
Mit Batch habe ich nicht viel zu tun, aber

  1. Laut Dokumentation ist die korrekte Syntax exist, du hast ein s angehängt.
  2. Du machst fünf Klammern auf und nur vier zu.
 
if exist heisst der Befehl und nicht if exists.
Oben fehlt eine Klammer ")".
Und 2x else bei einem if Befehl geht auch nicht.

Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Bedenke aber das du so immer im Loop bleiben wirst, auch wenn der Hashwert deiner Datei verändert wurde. ich würde das mit calls lösen, ist wesentlich simpler und effektiver.
 
Danke Jungs, ich schaue mir das Mal an!
 
Ich weiss ja nicht was du nutzt aber Notepad ++ bietet simpple syntaxhighlights an

Falsch:
1757447592685.png
Richtig:
1757447623579.png
Diese Klammer wird nicht geschlossen
1757447703793.png
Wäre wahrscheinlich mit notepad ++ aufgefallen, da es diranzeigen kann auf welcher klammer sich die ausgewählte bezieht
1757447788797.png
 
Korrekt. Ich nutze Notepad++

Nach rumbasteln und den Tipps von euch läuft der Lachs.

Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Irgendwas falsch?

Die "" habe ich außen vor gelassen, da ich keine Leerzeichen in meinem Pfad haben werde.
 
Einrückungen und schön machen kommt dann noch. Erstmal soll dat Ding laufen.
 

Data-Load.me | Data-Load.ing | Data-Load.to | Data-Load.in

Auf Data-Load.me findest du Links zu kostenlosen Downloads für Filme, Serien, Dokumentationen, Anime, Animation & Zeichentrick, Audio / Musik, Software und Dokumente / Ebooks / Zeitschriften. Wir sind deine Boerse für kostenlose Downloads!

Ist Data-Load legal?

Data-Load ist nicht illegal. Es werden keine zum Download angebotene Inhalte auf den Servern von Data-Load gespeichert.
Oben Unten