2013-12-17 13 views
9

私は別の小さなバッチプロジェクトを開始しましたが、少しのジレンマに遭遇しました。私は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:-= !に変更しても私にとってはうまくいかなかった。

バッチファイルでスペースをハイフンに置き換えるにはどうすればよいですか?

答えて

10

もうすぐです。

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

可変操作の詳細については、set /?を参照してください。

+0

ありがとうございます、魅力的です。また、 ':'の後に変数を設定することで、推測に代わってどのように動作するかを見ていきます。再度、感謝します! – Destrotant

関連する問題