После запроса this question на StackOverflow я написал .BAT-код, который проходит через все папки на общем сетевом диске, перечисляет все файлы, а затем выводит HTML.BAT-файл сбой при прохождении через вложенные папки
@echo off
setlocal enabledelayedexpansion
pushd %~dp0
(
echo ^<a href="javascript:toggleAll()" class='toggleAll' style="color:#f57832;" ^>Alles openen^</a^>
for /d /r %%a in (*) do (
pushd "%%a"
set "folder=%%a"
echo ^<h1 onClick="showHide($(this))" class="belangrijkeheader"^>!folder:~25!^</h1^>^<ul class='belangrijkelijst'^>
for /r %%b in (*) do (
set "filename=%%~nb"
set "filename=!filename: =%%20!"
echo ^<li^>^<a href="http://someurl.com:8081/somefolder/!folder:~25!/!filename!%%~xb"^>%%~nb^</a^>^</li^>
)
popd
echo ^</ul^>
)
)>"file.html"
start file.html
pause
Это работает очень хорошо, за исключением подпапок. Каждая подпапка создает две записи. Таким образом, если бы мы имели папку folder1
с двумя подпапок, subfolder1
и subfolder2
и оба имели файл, три вещи будут на выходе
Folder1
fileinfolder1.jpg
fileinfolder2. JPG
Folder1/subfolder1
fileinfolder1.jpg
Folder1/subfolder2
fileinfolder2.jpg
Я не хочу, первая запись, так как ссылки разбиты, и он не показывает, в каком вложенной папке. Тем не менее, я не знаю, что нужно редактировать в моем .bat-файле, чтобы убедиться, что показаны только два вторых.
Любая помощь будет принята с благодарностью.
Удивительно просто, спасибо! Я также рассмотрю ваши предупреждения, но поскольку это небольшая, довольно контролируемая среда, эти два не должны быть огромной проблемой. –