如何在变量批处理脚本中处理空间

时间:2018-02-28 06:09:22

标签: batch-file

我有批处理文件,提示用户提供文件名。文件可以或不可以有空间。如果我的文件名中有空格,我的批处理失败。例如:

SET TDSX=.txt    
SET /p DS=%1    
move C:\Working\YAHAMA\DEV\Script\%DS%%TDSX% C:\Working\YAHAMA\NEW_FO

2 个答案:

答案 0 :(得分:1)

将引号括在变量赋值周围:

WebDriverWait(driver, 20).until(expected_conditions.element_to_be_clickable((By.XPATH, "//a[contains(.,'T-Mobile')]"))).click()

波浪形的set /p "DS=%~1" 事件会从参数中删除任何引号。以上假设命令行上的文件名有引号,否则,就cmd而言,它不是单个参数,您可能需要:

~

答案 1 :(得分:1)

您还需要使用双引号来保护结果文件和目录名称中的空格:

@Echo Off
CD /D "C:\Working\YAHAMA" 2>Nul || Exit /B
Set "TDSX=.txt"
Set /P "DS=%~1"
If Exist "DEV\Script\%DS%%TDSX%" (
    If Not Exist "NEW_FO\" MD "NEW_FO"
    Move "DEV\Script\%DS%%TDSX%" "NEW_FO"
)