Ich versuche, zwei for-Schleifen zu verwenden, um eine einfache Arbeit zu erledigen: Die erste for-Schleife bringt mir eine Liste von Dateien, die zweite for-Schleife dann sollte mich den Inhalt aller Dateien zusammen in einer temporären Datei verbinden (und später ftp es irgendwo, aber das ist nicht das Problem). Das ist also mein Code so weit:Batch: Sekunde für Schleife mit Leerzeichen in Verzeichnisname funktionieren nicht
setlocal enableDelayedExpansion
REM FILE-MERGER
if exist "%temp%\ZS_aus_Files.csv" del /f /q "%temp%\ZS_aus_Files.csv"
for /f "delims=" %%x in ('dir /s /b /a-d C:\Documents\accounting\') do (
echo %%x
for /f tokens^=*^ delims^=^ eol^= %%f IN (%%x) DO echo %%f >> %temp%\ZS_aus_Files.csv
)
%% x bisher hat den vollständigen Pfad in es mit Räumen als auch. In der zweiten for-Schleife (%% x) wird wegen des Speicherplatzes ein Fehler ausgegeben.
Ausgabe von meinem Code ist so etwas wie:
C:\Documents\accounting\file with spaces.csv
The file "C:\Documents\accounting\file" cannot be found.
Putting (%% x) in qoutes ("%% x") Datei, die die Ausgabe einer Dateiliste stattdessen einen fusionierten Inhalt macht.
Ich bin wirklich hier stecken, hoffe, jemand kann mir dabei helfen.
Ich verstehe nicht, warum Sie alle 'FOR/F' Optionen entgehen? – Squashman