首页 > 其他分享 >VBS中解决路径带空格的三种方法

VBS中解决路径带空格的三种方法

时间:2023-08-26 21:55:06浏览次数:45  
标签:Files 空格 exe 路径 VBS 命令 Program sas wshell

方法一

Set wshell=CreateObject("WScript.Shell")

wshell.Run  """C:\Program Files\360\360se\360se.exe""",5,True

Set wshell = Nothing

 

备注说明:

命令格式:object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

因为strCommand必须是一个字符串,那么wshell.Run  """这里的三个引号,最左面的是指字符串,后面紧跟着的两个引号会被转化成一个引号。

还有使用执行命令行参数的,也是同样的使用两个引号,如:我使用7z命令压缩文件夹

我们正常情况下,可以使用以下命令将文件夹压缩为7z格式:

"D:\Program Files\7-Zip\7z.exe" a -t7z .\folder.7z "D:\Program Files\Logs\"
在上述示例中,a表示添加文件到压缩包,-t7z表示压缩格式为7z,folder.7z表示压缩后的文件名,folder表示要压缩的文件夹名。

那么如果使用vbs执行的话,

object.Run("""D:\Program Files\7-Zip\7z.exe"" a -t7z .\folder.7z ""D:\Program Files\Logs\""" ,0,false)

以下方法同样,就不一一解释了。

 

方法二 

temp="C:\Program Files\360\360se3\360se.exe"

path = Chr(34) & temp & Chr(34)

Set wshell=CreateObject("WScript.Shell")

wshell.Run path,1,True

Set wshell = Nothing

 

方法三

Public Const vbQuote = """"

temp="C:\Program Files\360\360se3\360se.exe"

path = vbQuote & temp & vbQuote

Set wshell=CreateObject("WScript.Shell")

wshell.Run path,1,True

Set wshell = Nothing

 

备注:

 

【出处】:https://www.cnblogs.com/BeyondTechnology/p/1936514.html

=======================================================================================

来自 VBscript 的带有空格的 Cmd 命令

Posted 2023-04-19

技术标签:

【中文标题】来自 VBscript 的带有空格的 Cmd 命令【英文标题】:Cmd commands with spaces from VBscript 【发布时间】:2017-12-12 13:58:44 【问题描述】:

我正在尝试通过命令行使用 VBScript 执行 SAS 代码。但是,我在将命令从 VBScript 正确传递到命令行时遇到问题。我很确定这是正确使用引号和chr(34) 的问题,但我无法弄清楚。

所以我想在命令行中运行以下命令:

"C:\Program Files\SAS 9.4\sas.exe" -SYSIN "C:\Program Files\test.sas"

我尝试过类似的东西

Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd.exe /K copy ""C:\Program Files\SAS 9.4\sas.exe"" -SYSIN ""C:\Program Files\test.sas"" ", 1, True
Set oShell = Nothing

但是我在命令行中得到一个无效的语法错误。有什么好主意吗?

【问题讨论】:

【参考方案1】:

CMD /K 需要一个参数。如果参数包含空格,则必须引用参数。所以完整的命令应该是这样的:

oShell.run "cmd.exe /K "" ""C:\Program Files\SAS 9.4\sas.exe"" -SYSIN ""C:\Program Files\test.sas"" "" ", 1, True

通常,人们不得不担心嵌套的引用/转义,但是 /C 和 /K 开关在引号的工作方式上是特殊的(CMD /? 解释了细节)。如果它看起来像一个单引号参数,则CMD 会自动忽略其中的任何引号。

【讨论】:

哦,是的,我在尝试 google 时感到困惑。所以我要执行的命令只是oShell.run "cmd.exe /K "" ^""C:\Program Files\SAS 9.4\sas.exe^"" -SYSIN ^""C:\Program Files\test.sas^"" "" ", 1, True 因为这应该在命令行中运行 test.sas 文件。但是,上述方法不起作用。我收到一个错误 ` '"C:\Program' `,我认为这表明引用不起作用:-/ 啊,对不起,我自己弄错了。 CMD /K 对引号有特殊的行为,这在 CMD 的其他任何地方都看不到,我忘记了。我已经更正了原来的答案。 像魅力一样工作。非常感谢 - 现在我的工作会简单得多;-)

以上是关于来自 VBscript 的带有空格的 Cmd 命令的主要内容,如果未能解决你的问题,请参考以下文章

cmd - 使用curl命令的注意点

使用 vbscript 命令提示符中的多个命令

如何在带有命令行参数的 vbscript 中调用函数?

在 Windows .cmd 文件或批处理文件的路径中设置带有空格的路径变量

VBScript 命令窗口 - 传递命令语法

cmd start命令 路径含空格

 

出处:https://it.cha138.com/zd/show-19389358.html

标签:Files,空格,exe,路径,VBS,命令,Program,sas,wshell
From: https://www.cnblogs.com/mq0036/p/17659531.html

相关文章

  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
    文章目录前言`%~dp0`的含义扩展字符串从字符串中截取路径、文件名脚本传参for语法扩展总结 前言又是实际开发中的问题,想要截取一个文件路径中的盘符、文件名等信息,第一反应是正则表达式?或者是split函数?这些往往都是“高级”语言中才会有的实现方法,对于批处......
  • 前端React学习路径
    在当今的软件开发领域,React已经成为一种广泛使用的JavaScript库,用于构建用户界面。它由Facebook开发并维护,具有高效、灵活和可扩展等特点,适用于各种类型的应用程序开发。本文将介绍前端React的学习路径,包括基本概念、核心功能、组件进阶、路由和状态管理、构建实践等方面,并结合代码......
  • 逆置字符串允许有空格和. 如I like China.->China. like I
    voidreverse(char*left,char*right){ while(left<right) { inttmp=*left; *left=*right; *right=tmp; left++; right--; }}intmain(){ chararr[101]={0}; gets_s(arr); intlen=strlen(arr);//求字符串长度 //逆置整个字符串 reverse(......
  • 3.0 报表制作学习路径-报表制作者
    一、学习路径https://help.fanruan.com/finereport/doc-view-4578.html1.数据连接基础1.1数据连接概述:获取数据库中的数据1.2数据集2.报表基础属性2.1报表类型简介2.2预览模式简介2.3单元格扩展2.4父子格2.5数据显示方式2.6数据显示格式2.7数据列属性3.......
  • 【LeetCode动态规划#16】矩阵的最小路径和、三角形的最小路径和
    矩阵的最小路径和给定一个包含非负整数的*m*x*n*网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:一个机器人每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。......
  • 【Java复杂系统实战经验-2023-08月】Java基础,Path路径计算编码
    Java程序设计-个人月报-2023-08月背景在本月,给负责的项目做了一次文件存储的迁移工作。历史原因,开发阶段由于图简便,使用了本地文件存储。后面经过容器化上云,导致应用出现上传文件分发的多节点的问题。本项工作的经验,受益于Java基础Path的一些API,颇有收获。复杂的系统应当构......
  • VScode settings.json默认配置文件路径
    LinuxUbuntu:/home/${用户名}/.config/Code/User/settings.jsonWindows:C:\Users\用户名\AppData\Roaming\Code\User来源、参考:https://blog.csdn.net/cyqzy/article/details/130011314......
  • Visual Studio Code 修改终端执行python脚本路径的办法
    正常安装完VSCode执行python都是默认在python的安装目录。修改terminal执行的路径在当前文件夹路径; 搜索 python.terminal.executeInFileDir 勾选即可。 ......
  • 删除文章里的中文符号和空格,换成英文逗号,并获取最后两个标签
    defupdate_biaoqian(tag_list,title):iflen(tag_list)==0:print('没有标签,取标题作为标签')titless=re.sub('\s',',',title)tag_list=title.replace('、',',').replace(';',......
  • 3、linux的oracle更改表空间路径
    目录linux的oracle更改表空间路径1、查看当前表空间路径2、复制原有的表空间路径3、查询表空间状态4、修改表空间4.1、修改表空间为Offline4.2、修改表空间指向地址5、修改表空间为Onlinelinux的oracle更改表空间路径1、查看当前表空间路径psql登录sys用户selectt1.name,t2.n......