Вверх ↑
Этот топик читают: Гость
Ответов: 156
Рейтинг: 1
#1: 2025-04-26 03:08:31 ЛС | профиль | цитата
Не получается открыть папку, где в названии запятые, обычным эксплорером.
Вот к примеру схемка, (программа при запуске создаст папку с запятыми).
Add(MainForm,2953706,224,203)
{
link(onCreate,723594:doString,[])
}
Add(WinExec,4490705,315,301)
{
FileName="explorer.exe"
link(Params,13633761:Var2,[])
}
Add(Button,11809164,252,301)
{
Left=130
Top=110
link(onClick,4490705:doExec,[])
}
Add(Dir,15293754,378,217)
{
Point(Dir)
link(Dir,13633761:Var3,[(384,205)(356,205)(356,261)])
}
Add(FormatStr,723594,322,217)
{
Mask="%1\\a,b,c,delete me"
Point(FString)
link(onFString,15293754:doDir,[])
link(Str1,15293754:CurrentDir,[(328,194)(365,194)(365,263)(384,263)])
}
Add(GetDataEx,13633761,322,256)
{
link(Data,723594:FString,[])
}


Редактировалось 1 раз(а), последний 2025-04-26 03:08:53
карма: 1

0
Ответов: 892
Рейтинг: 190
#2: 2025-04-26 06:02:36 ЛС | профиль | цитата
Gitarist писал(а):
Не получается открыть папку, где в названии запятые, обычным эксплорером.
Вот к примеру схемка, (программа при запуске создаст папку с запятыми).

Add(MainForm,8061108,315,84)
{
link(onCreate,723594:doString,[])
}
Add(WinExec,4490705,392,161)
{
link(FileName,1771900:Var2,[])
}
Add(Button,11809164,322,168)
{
Left=130
Top=110
link(onClick,4490705:doShellExec,[])
}
Add(Dir,15293754,448,98)
{
Point(Dir)
link(Dir,1771900:Var3,[(454,86)(426,86)(426,142)])
}
Add(FormatStr,723594,392,98)
{
Mask="%1\\a,b,c,delete me"
Point(FString)
link(onFString,15293754:doDir,[])
link(Str1,15293754:CurrentDir,[(398,82)(433,82)(433,138)(454,138)])
}
Add(GetDataEx,1771900,392,137)
{
link(Data,723594:FString,[])
}


или так

Add(MainForm,13916462,154,77)
{
link(onCreate,723594:doString,[])
}
Add(WinExec,4490705,266,161)
{
FileName="explorer.exe"
Action=""
}
Add(Button,11809164,147,161)
{
Left=130
Top=110
link(onClick,1927537:doStrCatDlm,[])
}
Add(Dir,15293754,280,91)
{
Point(Dir)
link(Dir,14426691:Var3,[(286,82)(272,82)(272,135)])
}
Add(FormatStr,723594,217,91)
{
Mask="%1a,b,c,delete me"
Point(FString)
link(onFString,15293754:doDir,[])
link(Str1,15293754:CurrentDir,[(223,82)(258,82)(258,131)(286,131)])
}
Add(GetDataEx,14426691,217,130)
{
link(Data,723594:FString,[])
}
Add(StrCatDelim,1927537,203,161)
{
Str1="""
Str2="""
Point(Delimiter)
link(onStrCatDlm,4490705:doExec,[])
link(Delimiter,14426691:Var2,[])
}


Но лучше избегать подобные символы в названиях файлов и папок.
В ОС Windows в имени файла запрещено использование следующих символов в файловой системе NTFS
< знак меньше, чем
> знак больше, чем
: двоеточие
« двойные кавычки
/ косая черта (прямой слеш)
\ обратная косая черта (обратный слеш)
| вертикальная черта
? вопросительный знак
* звездочка

В файловой системе FAT имеются следующие запрещенные символы в имени файла:
. точка
« двойные кавычки
/ косая черта (прямой слеш)
\ обратная косая черта (обратный слеш)
[ левая квадратная скобка
] правая квадратная скобка
: двоеточие
; точка с запятой
| вертикальная черта
= знак равенства
, запятая

Редактировалось 1 раз(а), последний 2025-04-26 07:30:14
карма: 18

1
Голосовали:Gitarist
Ответов: 4660
Рейтинг: 764
#3: 2025-04-26 09:24:48 ЛС | профиль | цитата
Проблема не в запятых, а в пробелах. Командную строку надо заключать в кавычки.
Хотя, Эксплорер может как-то дополнительно интерпретировать запятые. Решение - то же.
Но лучше использовать doShellExec + Action=open или explore. Возможно, путь тоже в кавычках должен быть.

Редактировалось 1 раз(а), последний 2025-04-26 14:20:57
карма: 26

1
Голосовали:Gitarist
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)