找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32967|回复: 5

[文件操作] cmd执行bat文件,文件名以及参数都带空格怎么处理?

[复制链接]
发表于 2017-5-31 11:15:09 | 显示全部楼层 |阅读模式
我写了一个脚本文件,是为了删除一个特定的文件,代码如下:
  1. @echo off
  2. set a=%1
  3. del %a%"a b a.txt"
复制代码
我打开cmd后的执行的命令如下:
  1. cmd /C  "f:\a b c d\aa bb cc.bat" "f:\cd adb a\aa bb"
复制代码
由于路径中都带有空格所以我都加上了引号。但是执行后显示:
'f:\a' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

求教各位大神这个如何处理?
 楼主| 发表于 2017-5-31 11:49:13 | 显示全部楼层
有没有了解这个是什么原因造成的啊?亲人们。感觉我加的引号貌似么有起作用,在执行的时候只读取到了
f:\a这个参数,空格后面的被当成独立的个体来对待了。
发表于 2017-5-31 12:12:53 | 显示全部楼层
DEL /F "%~1\a b a.txt"

评分

参与人数 1技术 +1 收起 理由
taofan712 + 1 乐于助人

查看全部评分

发表于 2017-5-31 12:14:56 | 显示全部楼层
CMD /C  CALL "f:\a b c d\aa bb cc.bat" "f:\cd adb a\aa bb"
发表于 2017-5-31 12:18:57 | 显示全部楼层
C:\Documents and Settings\Administrator>cmd/?
启动 Windows 命令解释程序一个新的实例

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      执行字符串指定的命令然后中止
/K      执行字符串指定的命令但保留
/S      在 /C 或 /K 后修改字符串处理(见下)
/Q      关闭回显
/D      从注册表中停用执行 AutoRun 命令(见下)
/A      使向内部管道或文件命令的输出成为 ANSI
/U      使向内部管道或文件命令的输出成为 Unicode
/T:fg   设置前景/背景颜色(详细信息,请见 COLOR /?)
/E:ON   启用命令扩展(见下)
/E:OFF  停用命令扩展(见下)
/F:ON   启用文件和目录名称完成字符(见下)
/F:OFF  停用文件和目录名称完成字符(见下)
/V:ON   将 ! 作为定界符启动延缓环境变量扩展。如: /V:ON 会
        允许 !var! 在执行时允许 !var! 扩展变量 var。var 语法
        在输入时扩展变量,这与在一个 FOR 循环内不同。
/V:OFF  停用延迟环境扩展。

请注意,如果字符串有引号,可以接受用命令分隔符 '&&' 隔开
的多个命令。并且,由于兼容原因,/X 与 /E:ON 相同,/Y 与
/E:OFF 相同,并且 /R 与 /C 相同。忽略任何其他命令行开关。

如果指定了 /C 或 /K,命令行开关后的命令行其余部分将作为命令行处
理;在这种情况下,会使用下列逻辑处理引号字符("):

    1.  如果符合下列所有条件,那么在命令行上的引号字符将被
        保留:

        - 不带 /S 命令行开关
        - 整整两个引号字符
        - 在两个引号字符之间没有特殊字符,特殊字符为下列中的
          一个: <>()@^|
        - 在两个引号字符之间有至少一个空白字符
        - 在两个引号字符之间有至少一个可执行文件的名称。

    2.  否则,老办法是,看第一个字符是否是一个引号字符,如果
        是,舍去开头的字符并删除命令行上的最后一个引号字符,
        保留最后一个引号字符之后的文字。
发表于 2017-5-31 20:05:06 | 显示全部楼层
本帖最后由 0000 于 2017-5-31 20:06 编辑

cmd /s /c ""f:\a b c d\aa bb cc.bat" "f:\cd adb a\aa bb""
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 18:39 , Processed in 0.015755 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表