У меня есть параметры командной строки для моего пакета script список имен файлов и папки. Для каждого имени файла мне нужно распечатать все подпапки папки, в которой найден файл (путь к этому файлу). Имена подпапок должны быть отсортированы в порядке убывания размеров файлов (файл может иметь разные размеры в разных подпапках).
Я делал это до сих пор, но это не работает:
::verify if the first parameter is the directory
@echo off
REM check the numbers of parameters
if "%2"=="" goto err1
REM check: is first parameter a directory?
if NOT EXIST %1\NUL goto err2
set d=%1
shift
REM iterate the rest of the parameters
for %%i in %dir do (
find %dir /name %i > temp
if EXIST du /b temp | cut /f 1 goto err3
myvar=TYPE temp
echo "file " %i "is in: "
for %%j in %myvar do
echo %j
echo after sort
du /b %myvar | sort /nr
)
:err1
echo Two parameters are necessary
goto end
:err2
echo First parameter must be a directory.
goto end
:err3
echo file does not exist.
goto end
:end