powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подскажите по параметрам функций BAT файла
12 сообщений из 12, страница 1 из 1
Подскажите по параметрам функций BAT файла
    #38797613
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с проблемой:

Код: plaintext
1.
2.
set str="a%20b"
echo %str% 



%2 проглатывается, и в выводе остается "a0b"

такая же ерунда получается если данную строку передать как параметр функции.

Проблема в том что на диске есть папки с такими именами, и если

Код: plaintext
1.
for /d %%i in(*) do echo %%i


выведет все правильно "a%20b"

то
Код: plaintext
1.
for /d %%i in(*) do call:func %%i



в функцию передает "попорченную" стороку "a0b"

Есть ли способ передать параметр в точности?
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797654
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
set str="a%%20b"
echo %str% 
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797683
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@echo off
for /d %%i in (*.*) do (
  set A=%%i
  call :func
)
exit

:func
echo %A%
exit /b
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797782
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

О таком варианте я знаю, но дело в том, что существуют некоторые наработки, готовые функции, многии не мои.

Перелопатить их все сложно, риск накосячить высок.

Может есть вариант както экранировать строку при передаче ее функции, чтобы там она воспринималась нормально?
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797786
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlЕсть ли способ передать параметр в точности?А смысла нет. И где гарантии, что функции будут такие строки обрабатывать правильно?
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797804
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter,

я всеголишь мыслю логически:

1. текст инглиш, никаких проблем с кодепейдж
2. cmd разработано для управления виндой, разработчиками винды, и т.п
3. если возможно создавать файлы/дирректории с подобными названиями, то и обрабатывать их должно быть возможно

где то чтото мы упустили...
илли билли опять облажался?
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797825
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cmd.exe - интерпретатор, "ломающийся" на куче разных вещей.
Хотите использовать именно его - экспериментируйте с проблемными случаями.
Хотите бОльшей предсказуемости - используйте другой скриптовый язык.
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797904
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlгде то чтото мы упустили...
илли билли опять облажался?да, упустили. в вашем примере "%2" означает значение второго параметра командной строки. и если сделать по-вашему, то найдутся люди, которые будут ворчать: почему мои параметры перестали передавать значения в скрипт? поскольку 2-й параметр вы не передали "%2" заменилось на пусто, что логично.
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797906
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если ваши функции вынести в отдельные файлы-сктипты и вызывать их, как "call func1.cmd "a%20" ", то "проглатываться" ничего не будет и сслылка на них %1 вернет такое-же значение, как и передали. и это правилный вариант :)
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797907
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необязательно "в отдельные" - call работает с метками внутри файла и понимает специальную метку EOF.
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797911
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovНеобязательно "в отдельные" - call работает с метками внутри файла и понимает специальную метку EOF.Да, действительно. Ну вот видите, как все просто, когда с грамотой дружить?
...
Рейтинг: 0 / 0
Подскажите по параметрам функций BAT файла
    #38797965
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql,

Ну я конечно могу придумать извращенное решение с передачей параметров через анальное отверстие, но оно будет никак не короче того метода, который я привел. % в cmd зарезервирован и обрабатывается по определенным правилам. Аминь.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подскажите по параметрам функций BAT файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]