在cmd中执行命令路径中包含空格的解决办法

今天找到一个站存在Struts-045漏洞,但是使用工具在执行命令的时候,由于命令中存在空格,执行时会报错:

出错的原因就是因为路径中存在空格。

解决方案

将整个路径和程序使用双引号包起来:

短文件名法:

比如c:\Program Files缩写为c:\Progra~1。

1
2
3
采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1,首字母不足六个字母,略去空白,用了第二个词的字母,凑成六个。例如:
"Documents and Settings" -- DOCUME~1
"Local Settings" -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)

如果多个文件前6字符一样怎么办?为什么最后是1而不是0或者其他数字呢?看看这个例子:
假设下面是你的C盘根目录中的文件夹:

1
2
3
Program Files
Progra file
Progra zhang

则三个目录分别表示为:C:\Progra~1; C:\Progra~2; C:\Progra~3;