2016-08-23 26 views
0

我在寫一段代碼,必須從文件中讀取並使用信息來創建文件夾結構。批量刪除變量中的空格並用下劃線替換

for /f "tokens=1,2* delims==;" %%x in (input.txt) do (
    if "%%x"=="Proj_name" set %%x=%%y 
    if "%%x"=="Source" set %%x=%%y 
    if "%%x"=="Language" set %%x=%%y 
) 

input.txt包含數據

Proj_name = Cushman & Wakefield 

所以我想創建一個文件夾,因爲它包含空格會拋出一個錯誤的名字。我必須用下劃線替換它中的空格才能使其工作。我嘗試使用下面的代碼,但它不工作。

set %Project_Name%=%Project_Name:_=% 

有何建議?

+0

可能重複的[批量字符串替換](http://stackoverflow.com/questions/3646016/batch-string-replace) – aschipfl

回答

2

替換用下劃線的空間在Proj_Name環境變量是這樣的:

set Project_Name=%Project_Name: =_% 

你的錯誤:

  1. set %Project_Name%=:設置變量時不要把百分比或將評估
  2. 用下劃線替換空格。無法使用:_=