1.cmd中打开文件名带有空格的的文件
start robba~1 试下
注意注意参考资料这段:
例如:
"Documents and Settings“ -- DOCUME~1
"Local Settings" -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。
----------------------------抄过来的资料---------------
有的时候产品容易被默认安装到c:\Program Files\这样包含空格的路径下,那么在命令行中输入一个带空格的file path作为参数往往会出错。所以大家都流传着这样一种说法:咱们公司的产品安装的时候选择的目录千万不要包含空格。
但是,一个那么大的产品装好了,使用命令行配置的时候发现path带空格命令过不去,而卸载重装太恐怖了,怎么办?
现在有两个办法来解决这个问题
1)用缩写。比如c:\Program Files缩写为c:\Progra~1
再来刨根问底查查这个命名是否有规则,于是找到:
文件夹(sub-directry)名称,以前是不允许带空白的,后来允许带空白,但由于有了空白,许多命令出现二义性,于是采用双引号括起来的办法。例如:
cd Documents and Settings
按老定义 等于 CD Documents, CD 命令找不到名叫Documents 的 directry
于是采用双引号:
cd “Documents and Settings“
但用到 set PATH 时很麻烦,名字太长,双引号时常括错。于是采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1。例如:
"Documents and Settings“ -- DOCUME~1
"Local Settings" -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。
于是,这种方法成了规定。
再来个十万个为什么的下一个,如果多个文件前6字符一样怎么办?为什么最后是1而不是0或者其他数字呢?看看这个例子
假设下面是你的C盘根目录中的文件夹:
Program Files
Progra file
Progra zhang
则三个目录分别表示为:C:\Progra~1; C:\Progra~2; C:\Progra~3;
2)绕过去,创建一个镜像。例如在cmd中输入 subst w: "C:\Documents and Settings\hopeshared"。然后就可以直接用w:\替代C:\Documents and Settings\hopeshared了
2.cmd如何打开一个名称包含空格的文件
大家都知道在Windows中“\”符号是路径的分隔符号,比如“C:\Windows\”的意思就是C分区中的Windows文件夹,“C:\Windows\System.exe”的意思就是C分区中的Windows文件夹中的System.exe文件,好继续我们假设一下: 如果文件名中有“\”符号会怎么样呢?假如“S\”是一个文件夹的名字,这个文件夹位于:“F:\”,他的路径就是“F:\S\”,当我们试图访问的时候Windows会错误的认为我们要打开的文件是C分区的S文件夹,这样Windows就无法打开并且会返回一个错误,因为以上的路径并不存在。
也许你现在正在尝试创建“S\”文件,但是Windows会提示你:“\”符号是不能作为文件、文件夹的名字的。看来Windows还是早已想到这一点了的。
我们继续进行,就不信不能建立包含“\”符号的文件。 现在打开你的电脑,我们要做一些很有趣的尝试。
进入Windows后点击:开始>运行,然后输入“cmd”并回车(如果是Win98请输入“COMMAND”),这时你会看到Windows的命令控制台,我们就是要利用它完成我们剩下的测试,以下包含了很多命令其中{}中的字符是我的注释: Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. F:\Test>mkdir s\ F:\Test>mkdir s\s1\ F:\Test>mkdir s.\ 子目录或文件 s.\ 已经存在。F:\Test>mkdir s..\ F:\Test>mkdir s。
\ 为什么会这样?我们先说你看到的这个“S.”文件夹,他即不能打开也不能删除,不能打开是因为他的实际路径是“F:\Test\s..\”(我们自己创建的所以可以确定他的实际路径)但是在Windows资源管理器中名字变成了“S.”也就是说当你试图打开它的时候Windows实际上尝试打开“F:\Test\s.\”当然是不能打开的,文件并不存在,所以Windows会报错。不能删除也是因为这个,Windows把一个实际存在的文件路径错误的解析为一个不存在的路径,并进行操作当然是无法完成的。
该说“S..”这个文件了,这个文件可以打开,但是却无法删除。等等……打开?你以为Windows真的是打开了我们创建的“s。
\”文件了吗?我们做下面的试验你就明白了。还是老规矩{}是我的注释方便大家理解: Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. F:\Test>echo 1 > Txt1.txt F:\Test>copy Txt1.txt s..\ 已复制 1 个文件。
F:\Test>echo 2 > Txt2.txt F:\Test>copy Txt2.txt s..\ 已复制 1 个文件。 F:\Test> 现在回到你的资源管理器打开“S..”文件夹,你看到了什么?“Txt1.txt”文件怎么会在这里?我们刚刚的确复制到了“S.”呀?难道我们打开“S..”文件夹实际上就是打开了“S.”?不错事实就是这样。
其实如果你再创建一个“S”文件夹的话“S.”就能打开了,但是实际上打开的是“S”。 “我该怎么删除它呢?”,删除它也不算很难,但是常规的方法是绝对删不掉的。
有两种方法可供选择:1、进入DOS删除(不推荐)。2、还是进入命令提示符然后输入“rmdir 目录名”,目录名就是你创建的时候的名字,如果忘记了可以先在资源管理器查看,然后加上“.\”。
如果提示“文件夹不是空的”应该加上“/s”参数。删除实例: Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. F:\Test>dir 驱动器 F 中的卷是 BGTING 卷的序列号是 2C8E-FE1C F:\Test 的目录 2003-09-11 17:50
F:\Test>rmdir s..\ /s s..\, 是否确认(Y/N)? y F:\Test>rmdir s。\ /s s。
\, 是否确认(Y/N)? y 利用这个漏洞我们可以做很多事情,比如想访问“S”文件夹,但是没有权限的时候我们可以创建“S..\”来指向“S”这样就可以跨权限浏览。而且新一代的木马程序很可能利用此漏洞把自身藏在某个“X..\”目录下这样用户根本不可能发现他,就算专业级的杀毒软件也只会去杀“X”而跳过“X..\”。
如果恶意程序在机的计算机上创建很多“..\”文件夹的话,那个时候Fotmat也许是最好的选择了。 1.在Windows中创建“X..\”文件夹后该文件夹将无法通过常规方法删除,但是却可以Copy文件进去,在资源管理器显示为“X.”,错误的指向“X”文件夹。
(嘿嘿,怎么有点像快捷方式?) 2.创建“X..\”的方法是在命令行输入“mkdir X..\”。 3.删除它的方法是在命令行输入“rmdir 目录名”,目录名就是你创建的时候的名字,如果忘记了可以先在资源管理器查看,然后加上“.\”。
如果提示“文件夹不是空的”应该加上“/s”参数。
转载请注明出处windows之家 » win10如何查找文件名中带空格