运行 CMD 时,參数加引號常见问题
在调用 CMD 时。如脚本中用 WScript.Shell 调用。
假设參数中有包括空格的长路径名时,必需要加引號才干正确被识别。
是的,大家都知道要加引號。但怎么加却easy被误解。这个问题,不时地会遇上,上次弄清楚了,但隔一段时间。还是忘了,相同的问题又要又一次摸索,很痛苦。
如:
Set objShell = WScript.CreateObject("WScript.Shell")
cmd = "cmd.exe /C ""C:\Program Files\putty\pscp.exe"" -pw mypassword ""c:\Documents and Settings\myuser\fax.tif"" myuser@10.8.8.99:/pydio/fax/"
returnValue = objShell.Run(cmd, 0, true)
这是错误的,以为仅仅要将文件名称用引號包起来就能够。
这里运行时会提示命令找不到。
正确的方式是,将 /C 后面全部字符,再加上双引號:
Set objShell = WScript.CreateObject("WScript.Shell")
cmd = "cmd.exe /C """"C:\Program Files\putty\pscp.exe"" -pw mypassword ""c:\Documents and Settings\myuser\fax.tif"" myuser@10.8.8.99:/pydio/fax/"""
returnValue = objShell.Run(cmd, 0, true)
对照两段命令,非常多人立即就明确为什么了。
由于,这里相当于有两条命令,而且是嵌套的,外面的命令是:
cmd.exe /C "command"
命令是 cmd.exe,两个參数各自是 /C。 "command",我们这里的 command 是
"C:\Program Files\putty\pscp.exe" -pw mypassword "c:\Documents and Settings\myuser\fax.tif" myuser@10.8.8.99:/pydio/fax/
假设不加外面的引號,那以空格分隔的各项。会被解析为外面 cmd.exe 这条命令的參数。所以要出错。
了解了非常easy,但没想到这一点,一定会让你抓狂的。并且遗憾的是,找不到相关的明白说明。大都仅仅是简单的说。加引號。
运行 CMD 时,參数加引號常见问题的更多相关文章
- jQuery的JS库在本地运行项目时提示无法加载
最近公司有个项目在我本地运行时引用本地的jquery.js,浏览器提示无法加载 <script src="/js/newperson/jquery-1.11.3.min.js" ...
- 运行cmd时提示你可能没有适当的权限访问该项目
Windows无法访问指定设备.路径或文件.你可能没有适当的权限访问该项目. 方法/步骤 在C:\Windows\System32目录下中找到cmd.exe文件 右键点击 "属性 ...
- linux 在批处理中,完整路径有空格的处理方式(加引號)
cp -f E:/XML_EDITOR/xmleditor25/xmleditor/Editor_UIOuterCtrl/TraceViewDlg.cpp E:/XML_EDITOR/'XMLEdit ...
- C语言中的system函数參数具体解释
http://blog.csdn.net/pipisorry/article/details/33024727 函数名: system 功 能: 发出一个DOS命令 用 法: int sy ...
- 关于oracle sql语句查询时 表名和字段名要加双引號的问题具体解释
作为oracle的刚開始学习的人相信大家一定会遇到这个问题.如图: 明明就是navicat可视化创建了表,但是就是不能查到!这个为什么呢? select * ...
- shell程序之逐行读取一文件里的參数且使用此參数每次运行5分钟
/********************************************************************* * Author : Samson * Date ...
- 未能加载文件或程序集“BLL”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
今天使用VS2012创建项目的时候,考虑到项目中代码的重用性以及清晰简洁性,搭建了一个三层架构,但是在项目运行的时候,总是报错: “未能加载文件或程序集“BLL”或它的某一个依赖项.生成此程序集的运行 ...
- 运行bat时隐藏cmd窗口
运行bat时隐藏cmd窗口 新建一个shrjj.vbs文件,文件内容为: Set ws = CreateObject("Wscript.Shell") ws.run "c ...
- springMVC3.0(文件上传,@RequestMapping加參数,@SessionAttributes,@ModelAttribute,转发,重定向,数值获取,传參,ajax,拦截器)
1.项目包结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsiz ...
随机推荐
- Java Web Application——servlet
概述 是一个部署于web服务器中的实现了servlet接口的Java类,用于响应web请求 Web容器(也称为servlet容器)本质上是与servlet交互的Web服务器的组件.Web容器负责管理s ...
- 紫书 习题 10-15 UVa 12063(数位dp)
大佬真的强!!https://blog.csdn.net/u014800748/article/details/45225881 #include<cstdio> #include< ...
- 题解 P3372 【【模板】线段树1 】
看了一下题解里的zkw线段树,感觉讲的不是很清楚啊(可能有清楚的但是我没翻到,望大佬勿怪). 决定自己写一篇...希望大家能看明白... zkw线段树是一种优秀的非递归线段树,速度比普通线段树快两道三 ...
- ECNUOJ 2147 字符环
字符环 Time Limit:1000MS Memory Limit:65536KBTotal Submit:562 Accepted:146 Description 字符环:就是将给定的一个字符串 ...
- 二 HTable 源码导读
户端调优的方法里面无非就这么几种:1)关闭autoFlush2)关闭WAL日志3)把writeBufferSize设大一点,一般说是设置成5MB 经过实践,就第二条关闭日志的效果比较明显 ...
- 一 Balancer regionCountCost 权重。
原文如下地址 : http://www.cnblogs.com/cenyuhai/p/3650943.html 看源码很久了,终于开始动手写博客了,为什么是先写负载均衡呢,因为一个室友入职新公司了,然 ...
- 零基础学python-5.6 数字位操作与其它工具
1.位运算 python能够把整数当成二进制位来对待 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/ ...
- caioj1442:第k小的数Ⅱ
[传送门:caioj1442] 简要题意: 给出n个点,每个点都有一个权值,m个操作,操作有两种:第一种是询问l到r的第k小的值,然后输出这个值,第二种是将第x个点的值改为k 题解: 又是一道主席树的 ...
- 之前搭建的jenkins的一些笔记
wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo rpm --import http:// ...
- 机器学习(三) Jupyter Notebook, numpy和matplotlib的详细使用 (下)
七.Numpy中的矩阵运算 八.Numpy中的聚合运算 九.Numpy中的arg运算 十.Numpy中的比较和Fancy Indexing 十一.Matplotlib数据可视化基础 十二.数据加载和简 ...