PDA

Показать полную графическую версию : Добавление кавычек в переменную, если их нет.


brimama
01-10-2023, 19:55
Как сделать так, если вводится путь без кавычек, то они добавляются в переменную. Если вводится путь уже с кавычками, то так и заносится и ничего не добавляется.

Если вводится "С:\123.txt" то так и остается.
Если вводится C:\123.txt то добавляются кавычки как сверху.

Я не знаю, или проверка если кавычки есть, то переход goto test1, если нету, то переход goto test2 и там уже добавлю их.


SET /P example=Введите путь:

brimama
01-10-2023, 20:36
Разобрался
echo %example%|>nul find """"&&goto test1||set example="%example%"

megaloman
02-10-2023, 08:51
brimama, @echo off
cls
Set example="A:\fg hjk h\ghj.hjgf"
(Set example="%example:"=%")
Echo %example%

Set example=A:\fg hjk h\ghj.hjgf
(Set example="%example:"=%")
Echo %example%
pause

brimama
02-10-2023, 19:26
megaloman, Спасибо большое, ваш пример проще. Взял его

Serguei Kouzmine
05-10-2023, 15:30
короче

@echo OFF

call :STRIP %1
goto :EOF

:STRIP
set A=%~1
echo "%A%"
goto :EOF


ac.cmd xyz
"xyz"

ac.cmd "x y z"
"x y z"

NickM
05-10-2023, 15:47
короче »
А если так?
ac.cmd x y z

Foreigner
05-10-2023, 18:38
@echo off
setlocal

set /p "example=Введите путь: "

echo %example%


C:\123 возвращает С:\123
"C:\123" возвращает "C:\123"

Serguei Kouzmine
05-10-2023, 21:44
А если так? »

так в примере только один аргумент заключается в кавычки

если хочется все арумгетын зачсяаеклют в кавычки то это так

@echo off

echo "%*"

как собрать эти скрптыи вместе вы уж сами

NickM
06-10-2023, 06:06
так в примере только один аргумент заключается в кавычки »
Имеется ввиду, что если ввели путь с пробелами и без кавычек?

Serguei Kouzmine
06-10-2023, 07:33
%1 первый
%* все




© OSzone.net 2001-2012