Jump to content

BATCH FOR funktioniert nicht mehr


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

seit der Umstellung von WS2003 R2 auf WS2008 R2 x64 funktioniert meine BatchDatei nicht mehr. Genauer gesagt, die FOR-Schleife. Sie hat von einer Datei "c:\test\Verzeichnis.txt" die Ordnernamen ausgelsen und die Ordner in einem Verzeichnis angelegt.

 

@ECHO OFF
FOR /F %%i in ("c:\test\ordner_anlegen\bin\verzeichnis.txt") DO (ECHO %%i)
PAUSE

 

Habt Ihr eine Idee?

 

Vielen Dank!

bearbeitet von da_flo
Link zu diesem Kommentar

Hallo,

 

vielen Dank für Eure schnellen Antworten. Hier die Ergebnisse:

 

Hi,

 

ich hatte vor kurzem ein ähnliches Problem. Versuche es mal damit (ungetestet):

 

@echo off & setlocal enabledelayedexpansion

for /F "delims=" %%i in (<deine-Text-Datei>) do (
echo %%i 
)

 

 

Gruß Sanches

 

C:\test\ordner_anlegen\bin>REM @ECHO OFF
C:\test\ordner_anlegen\bin>FOR /F "delims=" %i in ("c:\test\ordner_anlegen\bin\verzeichnis.txt") DO (ECHO %i )
C:\test\ordner_anlegen\bin>(ECHO c:\test\ordner_anlegen\bin\verzeichnis.txt" )
c:\test\ordner_anlegen\bin\verzeichnis.txt
C:\test\ordner_anlegen\bin>PAUSE

 

Leider hat dies auch nichts bewirkt. Er zählt mir nicht mal den Inhalt auf.

 

 

Eine Idee? Ja! Nutze Powershell :)

Müsste ich mich erst damit beschäftigen, möchte ich aber eher ungern.

 

Hallo,

 

und wie verhält es sich jetzt?

 

Nimm doch mal das Echo off weg, dann wird das sichtbar.

C:\test\ordner_anlegen\bin>REM @ECHO OFF
C:\test\ordner_anlegen\bin>FOR /F %i in ("c:\test\ordner_anlegen\bin\verzeichnis.txt") DO (ECHO %i )
C:\tes\ordner_anlegen\bin>(ECHO c:\test\ordner_anlegen\bin\verzeichnis.txt )
c:\test\ordner_anlegen\bin\verzeichnis.txt
C:\test\ordner_anlegen\bin>PAUSE
Drücken Sie eine beliebige Taste . . .

 

Aber leider wird hier auch nichts ersichtlich, außer dass eben die Datei nicht geöffnet wird und gelesen wird.

Link zu diesem Kommentar

Wenn ich das richtig sehe, hast du meinen Tipp leider nicht ganz umgesetzt! Oder ich übersehe etwas (falls ja, sorry).

 

Deine Ausgabe:

C:\test\ordner_anlegen\bin>REM @ECHO OFF
C:\test\ordner_anlegen\bin>FOR /F "delims=" %i in ("c:\test\ordner_anlegen\bin\verzeichnis.txt") DO (ECHO %i )
C:\test\ordner_anlegen\bin>(ECHO c:\test\ordner_anlegen\bin\verzeichnis.txt" )
c:\test\ordner_anlegen\bin\verzeichnis.txt
C:\test\ordner_anlegen\bin>PAUSE

 

Mein Vorschlag (die fehlenden Teile sind rot markiert):

@echo off & setlocal enabledelayedexpansion

for /F "delims=" %%i in (<deine-Text-Datei>) do (
echo %%i
)
 

Die fehlenden % Zeichen könnten auch deine Ausgabe erklären (=Pfad + Dateiname).

Entschuldige bitte, aber im <code> Tag konnte ich keine Farbunterschiede einpflegen.

 

gruß Sanches

Link zu diesem Kommentar

Hallo,

 

Wenn ich das richtig sehe, hast du meinen Tipp leider nicht ganz umgesetzt! Oder ich übersehe etwas (falls ja, sorry).

 

Deine Ausgabe:

 

Mein Vorschlag (die fehlenden Teile sind rot markiert):

@echo off & setlocal enabledelayedexpansion

for /F "delims=" %%i in (<deine-Text-Datei>) do (
echo %%i
)
 

Die fehlenden % Zeichen könnten auch deine Ausgabe erklären (=Pfad + Dateiname).

Entschuldige bitte, aber im <code> Tag konnte ich keine Farbunterschiede einpflegen.

 

gruß Sanches

 

ja Du hast vollkommen recht! Hatte ich vergessen. Aber es tut leider auch mit dem Zusatz nicht. Das jeweils fehlende "%%" sind im Script enthalten, aber eins wird bei Ausführung entfernt.

 

BATCH.BAT

@ECHO ON & setlocal enabledelayedexpansion
FOR /F "delims=" %%i in ("c:\test\ordner_anlegen\bin\verzeichnis.txt") DO (ECHO %%i)
PAUSE

 

ANZEIGE CMD

C:\test\ordner_anlegen\bin>FOR /F "delims=" %i in ("c:\test\ordner_anlegen\bin\verzeichnis.txt") DO (ECHO %i )
C:\test\ordner_anlegen\bin>(ECHO c:\test\ordner_anlegen\bin\verzeichnis.txt )
c:\test\ordner_anlegen\bin\verzeichnis.txt
C:\test\ordner_anlegen\bin>PAUSE
Drücken Sie eine beliebige Taste . . .

 

 

Und gibt es eine Fehlermeldung?

 

Wie wäre es mit "tokens=*"

 

Also, auf meinem 2008ern funktionieren die For-Schleifen. 

 

Ich habe das auf meinen anderen Server auch probiert. Ist überall das selbe Problem.

 

BATCH.BAT

@ECHO ON
FOR /F "tokens=*" %%i in ("c:\test\verzeichnis.txt") DO (ECHO %%i)
PAUSE

 

ANZEIGE CMD

C:\test\ordner_anlegen\bin>FOR /F "tokens=*" %i in ("c:\test\verzeichnis.txt") DO (ECHO %i )
C:\test\ordner_anlegen\bin>(ECHO c:\test\verzeichnis.txt )
c:\test\verzeichnis.txt
C:\test\ordner_anlegen\bin>PAUSE
Drücken Sie eine beliebige Taste . . .
 



Böses Foul im Elfmeterraum und anschließend Elfmeter verschossen! :confused: :nene: :jau:

 

Ich habs nun geschafft! Vielen herzlichen Dank für Eure Hilfe!

 

Fehler...

1. Ich hatte in der For-Schleife nach In die Pfadangabe in Anführungszeichen gesetzt, war beim WS2003 kein Problem hier mag er es nicht mehr.

2. Die Textdatei hatte ich als Name plus die Endung geschrieben. Da ich nicht die Anzeige "Dateiendungen" eingeschaltet hatte, wie ich es bisher gewohnt war, hatte ich es nicht gepeilt!

 

Also, nochmals vielen herzlichen Dank für Eure Unterstützung.

Link zu diesem Kommentar
  • 6 Jahre später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...