Ich versuche, ein Batch-Skript zu schreiben, das alle leeren Unterordner für den Pfad zu einer Datei aufgelistet .Stapelskript zum Auflisten aller leeren Unterordner für den angegebenen Pfad (versucht, Datei Not Found Fehler und Pfadprobleme zu beheben)
Es scheint hauptsächlich zu funktionieren, aber es gibt einige Probleme, die ich nicht herausfinden kann, wie man repariert.
Wenn ich Unterordner durchlaufe, fügt es irgendwie Punkte am Ende des Pfades hinzu. Ich glaube, das ist der Grund für die "Datei nicht gefunden" gibt es auch als Ergebnis.
Auch wenn ich einen Pfad mit Leerzeichen gebe, heißt es, dass der Ordner nicht existiert. Wenn es Leerzeichen gibt, die sich nicht im angegebenen Pfad, sondern in seinem untergeordneten Verzeichnis befinden, wird das Skript vom Skript gut verarbeitet. Hier
ist das Skript:
@Echo off
setlocal disableDelayedExpansion
IF EXIST List.txt del /F List.txt
::No path given
set "root=%~1"
echo Path given: %root%
if not defined root (
echo No path given!
GOTO:EOF
)
::The folder does not exist
if exist %root%\* (
echo:
) else (
echo No such folder!
GOTO:EOF
)
::Is folder empty?
echo Is folder empty?
FOR /R "%root%" %%G in (.) DO (
set "folder=%%G"
call :testFILE
)
GOTO:EOF
:testFILE
for /F %%i in ('dir /b /A-D "%folder%\*"') do exit /b
REM if you're here, directory has no files
echo %folder% has no files
call :testDIR
exit /b
:testDIR
for /F %%i in ('dir /b /A:D "%folder%\*"') do exit /b
REM if you're here, directory has no directories
echo "%folder%" is totally empty >> List.txt
exit /b
Einige helfen mit, die Fehler Festsetzung wäre sehr dankbar!