![]() |
помогите пожалуйста выявить ошибку в скрипте
вот мое задание. создать файл sh и bat, который выполняет следующее:
На вход пакетному файлу приходит абсолютный или относительный путь к папке (как параметр пакетного файлы). Если такой папки нет, то писать "Данной папки нет" и завершить выполнение программы. Если такая папка есть, то вывести структуру каталога (включая подкаталоги). dir -dir1 --dir1.1 --dir1.2 -dir2 --dir2.1 вот мой код @echo off SetLocal EnableDelayedExpansion set var1=%1 set n set m m=0 n=0 for /f "delims=\" %var1% %%n in (*.*) do (set /a n=!n!+1) set /a n=n-1 if exist %var1% ( (for /r /f "delims=\" %var1% %%A in (*.*) do (set /a m=!m!+1) set /a m=m-1 for /r %var1% %%G in (*.*) do (n=m-n | for /l (n, 0, -1) do echo - | for /r %var1% %%A in (*.*) do (echo %%~nA))) else (echo "Данной папки нет") pause пишет, что m и n не являются внешними или внутренними командами и что непредвиденное появление пути |
Код:
@Echo Off |
Цитата:
dir1 -dir1.1 --dir1.1.1 --dir1.1.2 -dir1.2 -dir1.2.1 dir2 где каждый знак - обозначает степень вложенности файла |
Код:
@Echo Off |
предложу и свой вариант, тут форматирование немного другое, но именно как у ТС записано:
Код:
@echo off |
alpap, Мой вариант нагляднее, я напрягался :) чтобы сделать именно так, но, чтобы полностью соблюсти что в ТС записано, достаточно в моём варианте написать вместо
Set "Marg=" |
Цитата:
|
alpap,
Что-то в консерватории надо менять
Tree
Код:
D:\CMD Код:
-JS_Host Моё творение Код:
D:\CMD |
Цитата:
|
Время: 13:44. |
Время: 13:44.
© OSzone.net 2001-