Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как решить вопрос с двойным слешем в пути

Ответить
Настройки темы
CMD/BAT - Как решить вопрос с двойным слешем в пути

Пользователь


Сообщения: 74
Благодарности: 2

Профиль | Отправить PM | Цитировать


Доброго вечера! Подскажите пожалуйста как решить вопрос с двойным слешем в пути:
Код: Выделить весь код
@echo off
Set "b="(new-object -COM 'Shell.Application').BrowseForFolder(0,'%1',0x200,0).self.path""
For /f "usebackq delims=" %%# in (`PowerShell %b%`) do set "Folder=%%#"
If "%Folder%"=="" (Goto Choice & Exit)
@echo %Folder%
set "FolderEnd=%Folder%\folder1"
@echo %FolderEnd%
pause
Кратко изложу суть, если указать корень диска, путь будет D:\\, а если к примеру D:\FolderTest то путь будет правильный без двойного \. Как можно решить этот вопрос?

Отправлено: 14:53, 27-11-2024

 

Аватара для NickM

Ветеран


Contributor


Сообщения: 4553
Благодарности: 1085

Профиль | Отправить PM | Цитировать


Цитата a1ek9:
если указать корень диска »
Указать где?

Отправлено: 15:10, 27-11-2024 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 74
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата NickM:
Указать где? »
при запуске появляется окно выбора директории.. если указать корень диска будет двойной слеш, если путь до папки на диске, слеш будет нормальным.

Отправлено: 15:31, 27-11-2024 | #3


Аватара для NickM

Ветеран


Contributor


Сообщения: 4553
Благодарности: 1085

Профиль | Отправить PM | Цитировать


Цитата a1ek9:
если указать корень диска будет двойной слеш, если путь до папки на диске, слеш будет нормальным. »
По той причине, что пути, например:
Код: Выделить весь код
D:
, не существует.

Как вариант проверяйте последний символ, и в зависимости от условия присваивайте переменной нужное значение:
Код: Выделить весь код
@echo off
Set "b="(new-object -COM 'Shell.Application').BrowseForFolder(0,'%1',0x200,0).self.path""
For /f "usebackq delims=" %%# in (`PowerShell %b%`) do set "Folder=%%#"
If "%Folder%"=="" (Goto Choice & Exit)
@echo %Folder%
set "FolderEnd=%Folder%\folder1"
If "%Folder:~-1%" EQU "\" set "FolderEnd=%Folder%folder1"
@echo %FolderEnd%
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:07, 27-11-2024 | #4


Пользователь


Сообщения: 74
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата NickM:
По той причине, что пути, например: »
Но по факту существует ведь)
Цитата NickM:
Как вариант проверяйте последний символ, и в зависимости от условия присваивайте переменной нужное значение: »
Благодарочка

Отправлено: 16:31, 27-11-2024 | #5


Аватара для NickM

Ветеран


Contributor


Сообщения: 4553
Благодарности: 1085

Профиль | Отправить PM | Цитировать


Цитата a1ek9:
Но по факту существует ведь) »
D: - это, назовём словом диск, а D:\ - это путь (корневой каталог) на диске D.

Цитата:
SYSTEMDRIVE
Диск, на котором хранится папка Windows. Это значение является именем диска, а не именем папки (C: не C:\).

Отправлено: 16:39, 27-11-2024 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как решить вопрос с двойным слешем в пути

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - Ms sql + Сертификат не стартует служба как решить вопрос? oia Программирование и базы данных 0 21-05-2020 17:32
CMD/BAT - [решено] Отсечение пути.Как?Или получение относительного пути. nfs911 Скриптовые языки администрирования Windows 12 19-05-2018 11:29
Проблемма температуры! помогите решить вопрос! vyazikov Процесcоры 26 01-09-2008 14:31
вопрос про пути в php Turman Хочу все знать 2 12-11-2007 01:19
Программа требующая прав админа!!! как решить вопрос? MadGhost Microsoft Windows 2000/XP 13 11-08-2005 12:06




 
Переход