Показать полную графическую версию : [решено] dir вывод без начальной директории
Starter1
26-08-2011, 13:40
В общем такая вот проблема: Используя команду dir /b /s %sFolderName%\*.ltx
Но есть ли такая возможность выводить без начальной директории то есть без %sFolderName%.
Допустим лежат у нас файлы в D:\Конфиги это и есть %sFolderName%, и лежит файл D:\Конфиги\тратата\файл.ltx ,
нужно чтобы выводилось вот только это это: тратата\файл.ltx .
Что нужно сделать?
Заранее спасибо :)!
Starter1, можно попробовать так:
@echo off
setlocal enableextensions enabledelayedexpansion
set sFolder=D:\Конфиги\
for /f "delims=" %%i in ('dir /b /s "%sFolder%*.ltx"') do (
set sValue=%%i
echo !sValue:%sFolder%=!
)
endlocal
exit /b 0
Starter1
26-08-2011, 20:54
Iska, Спасибо большое всё работает!
megaloman
27-08-2011, 18:24
У Iska сделано очень красиво :good: , хотя я бы добавил в Dir еще ключ /A:-D (это актуально, если и директория имеет расширение, совпадающее с расширением файлов. Или маска файлов *.*). Либо, как у Iska, но без Dir @Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
cls
Set F=D:\Delete\Конфиги
FOR /R "%F%" %%i IN (*.ltx) DO Set S=%%i & Echo !S:%F%\=!
Жаль выбрасывать своё решение, поэтому привожу свои варианты.
Если уровень вложенности директории тратата извесен, то, например, для приведенного вами случая
@Echo Off
cls
Set F=D:\Конфиги
FOR /F "usebackq tokens=2* delims=\" %%i IN (`DIR "%F%\*.ltx" /B /S /A-D`) DO Echo %%jдля пути с другой вложенностью, например,@Echo Off
cls
Set F=D:\Delete\Конфиги
FOR /F "usebackq tokens=3* delims=\" %%i IN (`DIR "%F%\*.ltx" /B /S /A-D`) DO Echo %%j И, если заранее вложенность директории неизвестна и есть гарантированно свободная буква для диска @Echo Off
cls
Set F=D:\Delete\Конфиги
Subst Z: %F%
FOR /F "usebackq tokens=1* delims=\" %%i IN (`DIR Z:\*.ltx /B /S /A-D`) DO Echo %%j
Subst Z: /D
хотя я бы добавил в Dir еще ключ /A:-D (это актуально, если и директория имеет расширение, совпадающее с расширением файлов. Или маска файлов *.*). »
Верное замечание. Я не обратил на это внимания, взяв маску напрямую из #1 (http://forum.oszone.net/post-1739713.html#post1739713), что, конечно, неправильно.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.