Пакетный файл; замените пробелы переменной дефисами
Я начал еще один небольшой пакетный проект, однако я столкнулся с некоторой дилеммой. Я использую set name=
затем set /p name=
, чтобы позволить пользователю, чтобы дать нужный вход. Однако я хочу, чтобы переменная, введенная с пробелами, затем заменила пробелы дефисами (например,"Здравствуй, мир!" становится "Привет-мир").
Я искал вокруг и нашел много ситуаций, в которых кто-то задает подобный вопрос, однако все они с помощью ren
команда, которая мне не нужна из-за того, что я не имею дело с файлами.
мой текущий код выглядит следующим образом:
@echo off
Cls
echo Insert a string with spaces?
set string=
set /p string=
Я также нашел решение для переименования файлов, указанных с помощью ren "!file!" "!file:_= !"
чтобы изменить пробелы имени файла на подчеркивания (_
). Однако изменение его на set name=!name:-= !
у меня не получилось.
как я могу лучше всего заменить пробелы дефисами в моем пакетном файле?
1 ответов
вы близки.
@echo off
cls
echo Insert a string with spaces?
set string=
set /p string=
set string=%string: =-%
echo String is now %string%
посмотреть set /?
для деталей на переменной манипуляции.