我有問題 如何循環瀏覽文件夾並僅顯示沒有完整路徑的文件夾及其子文件夾。僅顯示導演及其子目錄
例如 如果我使用DIR/B/S /廣告 我會看到E:\ Mainfolder \ Folder1中\的子文件夾
,我只whant看到 Folder1中\的子文件夾
我想原因它是這樣,我可以把它放入一個txt字段,然後用另一個循環檢查文件夾/子文件夾是否存在其他地方,如果不是,那麼它需要創建它。
隨着親切的問候,
托馬斯·德弗里斯
我有問題 如何循環瀏覽文件夾並僅顯示沒有完整路徑的文件夾及其子文件夾。僅顯示導演及其子目錄
例如 如果我使用DIR/B/S /廣告 我會看到E:\ Mainfolder \ Folder1中\的子文件夾
,我只whant看到 Folder1中\的子文件夾
我想原因它是這樣,我可以把它放入一個txt字段,然後用另一個循環檢查文件夾/子文件夾是否存在其他地方,如果不是,那麼它需要創建它。
隨着親切的問候,
托馬斯·德弗里斯
@echo off
setlocal enableextensions disabledelayedexpansion
set "startingFolder=%cd%"
:: Determine the length of the starting path to remove
:: it from output
for /d %%a in ("%startingFolder%\"
) do for /f "skip=1 tokens=1 delims=:" %%b in (
'(echo(%%~fa^&echo(^)^|findstr /o "^"'
) do set /a "cutPoint=%%b-3"
:: Recurse folders from starting point and echo the
:: full path without the starting folder
for /r "%startingFolder%" /d %%a in (*) do (
set "line=%%a"
setlocal enabledelayedexpansion
echo(!line:~%cutPoint%!
endlocal
)
這將在遞歸樹結構,開始在指定的文件夾中(其他城市startingFolder
變量你需要什麼)。對於找到的每個文件夾,其相對路徑都會回傳給控制檯。批量重定向輸出生成所需的.txt文件
謝謝你。 –
@echo off
setlocal EnableDelayedExpansion
for /F "delims=" %%a in ('dir /b /s /ad') do (
set "name=%%a"
echo !name:*e:\Mainfolder\=!
)
結構是否一致?或者它可能是'e:\ MainFolder \ Folder1 \ Subfolder \ SubSubfolder \ etc \' – Alex
該結構可能會改變,導致人員可以添加或刪除一個目錄及其子目錄。 –
你怎麼知道你想消除的路徑部分?它總是'「e:\ Mainfolder」'?這是當前目錄嗎? – Aacini