command - 将带有空格的路径作为参数传递给bat文件

标签 command parameters batch-file

我有一个简单的bat脚本,它将文件从已知目录复制到用户指定的目录。如何将路径(可能包含空格)传递给我的脚本并将其与 xcopy 命令一起使用?

<小时/>

在我的代码中,我有以下内容

:READ_PWA_PATH
    if "%1" == "" ( 
        rem Set default path
        set PWA_PATH="C:\Program Files\PWA"
        rem
        echo You have not specified your PWA url.
        echo Default will be assumed: C:\Program Files\PWA. 
        choice /C:YN /M:"Do you wish to continue [Y] or cancel the script [N]?"
            IF ERRORLEVEL ==2 GOTO CANCEL
            IF ERRORLEVEL ==1 GOTO READ_WSS_SERVER_EXTENSIONS_PATH
        GOTO END
    ) else (
        set PWA_PATH=%1
    )

如果我只是调用脚本,我会收到以下错误:

C:\Projects\Setup>install.cmd "C:\program files (x86)"

-----------------
SETUP SCRIPT
-----------------

files was unexpected at this time.
C:\Projects\Setup>

最佳答案

使用“%~1”%~1 单独删除周围的引号。但是,由于您无法知道输入参数 %1 是否包含引号,因此您应该通过 "%~1" 确保它们已添加。这在连接变量时特别有用,例如convert.exe“%~1.input”“%~1.output”

关于command - 将带有空格的路径作为参数传递给bat文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/473117/

相关文章:

c# - 如何将命令中的文本框文本作为参数传递 WPF

用于将行插入表的 mySQL 存储过程始终为所有列插入 0 值

android - Android开发中如何将变量从一个类传递到另一个类

windows - Windows批处理标签是(:label) used with call and goto commands case-sensitive?

java - 如何在没有任何映射器的情况下使用 Spring Batch 读取完整的行

batch-file - 区分大小写的字符串操作

c - 如何让函数通过命令行打印出一定数量的随机数? C

bash - 如何向 bash 添加内部命令?

linux shell sed命令

c++ - 你能在不使用数组的情况下将不同数量的相同类型的参数传递给函数吗?