|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отсечение пути.Как?Или получение относительного пути. |
|
|
CMD/BAT - [решено] Отсечение пути.Как?Или получение относительного пути.
|
Старожил Сообщения: 151 |
Всем привет!
Вот мы имеем такой простой код который выводит полные пути ко всему что есть в папке или @echo off set path_1=D:\test\a FOR /F "tokens=*" %%A IN ('dir /s /b /a-d "%path_1%\*.*"') DO echo "%%A" pause D:\test\a\test.exe D:\test\a\abc.txt D:\test\a\fold1\qwer.bat D:\test\a\fold1\dir\start.7z D:\test\a\test_dir\dell.dll Но мне на выходе нужно получить test.exe abc.txt fold1\qwer.bat fold1\dir\start.7z test_dir\dell.dll как это реализовать? |
|
Отправлено: 05:58, 21-02-2014 |
Ветеран Сообщения: 1758
|
|
Отправлено: 07:24, 21-02-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 151
|
Профиль | Отправить PM | Цитировать Foreigner,
Цитата Foreigner:
А значит я получу вместо желаемого результата test.exe abc.txt qwer.bat start.7z dell.dll Напомню что мне нужно получить test.exe abc.txt fold1\qwer.bat fold1\dir\start.7z test_dir\dell.dll |
|
Отправлено: 08:39, 21-02-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать @echo off
setlocal enableextensions enabledelayedexpansion
set sRootFolder=C:\Temp
if exist "%sRootFolder%\." (
for /f "usebackq delims=" %%i in (
`dir /b /s /a:-d "%sRootFolder%\*.*"`
) do (
set sVar=%%~i
set sPath=!sVar:%sRootFolder%\=!
echo [!sPath!]
)
) else (
echo Folder [%sRootFolder%] not found.
exit /b 1
)
endlocal
exit /b 0
|
Отправлено: 09:48, 21-02-2014 | #4 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
|
Последний раз редактировалось Georgio, 21-02-2014 в 15:30. Отправлено: 14:48, 21-02-2014 | #5 |
Ветеран Сообщения: 1758
|
Цитата nfs911:
|
|
Отправлено: 19:14, 21-02-2014 | #6 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
В этом же решении обратного слеша в начале каждой строки нет: Цитата Georgio:
Цитата nfs911:
|
|||
Отправлено: 20:47, 21-02-2014 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Georgio, но всё равно, согласитесь — решение с subst'ом изящное
![]() |
Отправлено: 21:04, 21-02-2014 | #8 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Georgio:
Цитата:
Цитата Georgio:
|
||||
Отправлено: 21:45, 21-02-2014 | #9 |
Ветеран Сообщения: 1758
|
|
Последний раз редактировалось Foreigner, 21-02-2014 в 22:48. Отправлено: 22:32, 21-02-2014 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Отказано в доступе к указанному устройству, пути или файлу. | m4r47 | Лечение систем от вредоносных программ | 2 | 13-12-2012 13:14 | |
Ошибка - Отказано в доступе к указанному устройству, пути или файлу. | few ds | Microsoft Windows 2000/XP | 23 | 08-02-2012 14:59 | |
Ошибка - отказано в доступе к указанному устройству пути или файлу. | CoF_TuZ | Лечение систем от вредоносных программ | 8 | 16-01-2012 23:15 | |
Доступ - Отказано в доступе к указанному устройству, пути или файлу. | webb23 | Microsoft Windows 7 | 1 | 22-10-2011 14:01 | |
Доступ - Отказано в доступе к указанному устройству пути или файлу... | Nautical | Microsoft Windows 7 | 2 | 18-04-2010 11:57 |
|