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

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

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

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


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

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


Изменения
Автор: NuclearBox
Дата: 19-05-2019
Здравствуйте.

Как удалить из одной переменной сиволы, которые присвоены другой переменной?
Например, надо удалить %Symbols% из %Name%:
set "Name=01234"
set "Symbols=123"

Должно получиться
Name=04

Удаление явно прописанных символов работает:
set "Name=%Name:123=%"

Как вписать вместо "123" переменную %Symbols% ?

---
И второй вопрос - как удалить определенное количество последних символов в переменных с разной длинной?

Например, для:
set "Name1=0123"
set "Name2=01234567"

удалить по 2 последних символа, чтобы получилось:
Name1=01
Name2=012345






Отправлено: 23:30, 19-05-2019

 

Ветеран


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

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


Цитата NuclearBox:
Как удалить из одной переменной сиволы, которые присвоены другой переменной? »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set "Name=01234"
set "Symbols=123"

echo !Name:%Symbols%=!

endlocal
exit /b 0
Цитата NuclearBox:
как удалить определенное количество последних символов в переменных с разной длинной? »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set "Name1=0123"
set "Name2=01234567"

echo %Name1:~0,-2%
echo %Name2:~0,-2%

endlocal
exit /b 0
Читайте:
Код: Выделить весь код
set /?
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:47, 20-05-2019 | #2



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

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


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


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

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


Iska, спасибо за помощь!

Отправлено: 02:19, 20-05-2019 | #3


Ветеран


Contributor


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

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


NuclearBox, Мои 3 копейки: ИМХО, этот способ более универсален.
Код: Выделить весь код
@Echo Off
cls
	set "Name=01234"
	set "Symbols=123"

	Echo %Name%
	Call Set "Name=%%Name:%Symbols%=%%"
	Echo %Name%


	set "Name=Ура! Ура! Мы в тылу врага!"
	set "Symbols= Ура!"

	Echo %Name%
	Call Set "Name=%%Name:%Symbols%=%%"
	Echo %Name%
Pause
Код: Выделить весь код
@Echo Off
cls
	set "Name=01234"
	Set /A N=2

	Echo %Name%
	Call Set "Name=%%Name:~0,-%N%%%"
	Echo %Name%

	set "Name=Ура, Ура! Мы в тылу врага!"
	Set /A N=17

	Echo %Name%
	Call Set "Name=%%Name:~0,-%N%%%"
	Echo %Name%
Pause

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 20-05-2019 в 08:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:47, 20-05-2019 | #4


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


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

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


megaloman, супер. Спасибо! Для обучения бесценно. Более понятно. На Ваших кодах и начал изучать командную строку. Пока с трудом понимаю использование локального окружения, как в варианте Iska. Но рано или поздно и этот гранит прогрызу. Да поможет мне /?

Отправлено: 10:25, 20-05-2019 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Удаление первых символов в названии файла sim22x Скриптовые языки администрирования Windows 5 28-08-2017 20:03
PowerShell - [решено] Подставление нужных символов в переменной. Luka666 Скриптовые языки администрирования Windows 6 21-10-2016 11:34
CMD/BAT - Обработка более 1028 символов в переменной worship Скриптовые языки администрирования Windows 4 27-02-2015 13:34
CMD/BAT - [решено] Удаление в строке лишних символов idlazarev_alex@vk Скриптовые языки администрирования Windows 2 05-10-2014 16:21
Любой язык - удаление всех символов кроме шаблона gendalf Скриптовые языки администрирования Windows 3 19-07-2012 16:21




 
Переход