2014-02-16 38 views
0

下面的代碼要求輸入,然後它會在根目錄中創建一個輸入名稱的文件夾,但是如果用戶輸入兩個有空格的單詞,它將創建兩個文件夾,而我想要避免它,例如如果用戶輸入(Good Time),它將創建兩個名爲Good和Time的文件夾,但我只想獲得一個名爲「Good Time」的文件夾 如何修復代碼?輸入框中的空格會導致多個變量

@echo off 
SETLOCAL 

SET _prompt=%1 

::Create the VBS script with an echo statement: 
ECHO Wscript.Echo Inputbox("Enter %_prompt%","Input Required")>%TEMP%\~input.vbs 

:s_GetInput 
:: Run the vbScript and save the output 
FOR /f "delims=/" %%G IN ('cscript //nologo %TEMP%\~input.vbs') DO set _string=%%G 

:: Delete the VBS file 
DEL %TEMP%\~input.vbs 

mkdir .\%_string% 

回答

1

在文件級空間/ foldernames使用雙引號周圍:

mkdir ".\%_string%" 
+0

謝謝,這是現在的工作,但如何使用Unicode的名字呢?如果我輸入阿拉伯語或波斯語的話,它將不起作用:( – Nofuzy

+1

@Stranger爲什麼不用'set/p _string = Enter%_prompt%:'來獲取沒有vbscript的文件夾名稱? –

+0

@ kul-tigin Unicode在cmd提示符下的支持也是有限的。 – foxidrive

相關問題