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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在变量批处理脚本中处理空间相关的知识,希望对你有一定的参考价值。

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

SET TDSX=.txt    
SET /p DS=%1    
move C:WorkingYAHAMADEVScript\%DS%%TDSX% C:WorkingYAHAMANEW_FO
答案

像这样在变量赋值周围加上引号:

set /p "DS=%~1"

波浪形的~事物删除了参数的任何引用。以上假设命令行上的文件名有引号,否则,就cmd而言,它不是单个参数,您可能需要:

set /p "DS=%*"
另一答案

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

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

以上是关于如何在变量批处理脚本中处理空间的主要内容,如果未能解决你的问题,请参考以下文章

暑假自学JAVA Web心得

你如何在 python 中处理 graphql 查询和片段?

如何在批处理脚本中刷新 PATH 环境变量

如何在批处理脚本的 IF EXIST 子句中使用变量[重复]

如何在vbs中设置可以在调用批处理脚本中读取的环境变量

如何使用普通变量传递系统变量以在命令行批处理脚本中调用java程序