批处理文件;用连字符替换变量的空格

时间:2013-12-17 23:34:37

标签: variables batch-file replace

我已经开始了另一个小批量项目,但是我遇到了一个两难的问题。我使用set name=后跟set /p name=,以允许用户提供所需的输入。但是,我希望用空格输入的变量然后用连字符替换空格(例如“hello world”变成“hello-world”)。

我一直在搜索并发现许多情况,其中有人问类似的问题,但他们都使用ren命令,由于没有处理文件,我没有用。

我目前的代码如下:

@echo off
Cls
echo Insert a string with spaces?
set string=
set /p string=

我还找到了一个解决方案,用于重命名使用ren "!file!" "!file:_= !"提到的文件,将文件名的空格更改为下划线(_)。但是将其更改为set name=!name:-= !对我来说无效。

如何在批处理文件中最好用连字符替换空格?

1 个答案:

答案 0 :(得分:11)

你很亲密。

@echo off
cls
echo Insert a string with spaces?
set string=
set /p string=
set string=%string: =-%
echo String is now %string%

有关变量操作的详细信息,请参阅set /?