PowerShell中的dir不认识这个文件,CMD中的dir就认识


PowerShell交流中心PowerShell中的dir不认识这个文件,CMD中的dir就认识
0
much asked 8 年 ago

文件名为:[Graphis]綾波セナ写真01.jpg

如图:

001

一、该文件在PowerShell中无法识别出来,但是,如果PowerShell无法识别,应该会提示文件不存在。

在CMD中,该文件被完美的识别。

 

二、我在当前目录建立一个文件夹,将该文件复制或剪切到新建的文件夹中,还是一样的情况。不过,我只执行dir命令,却显示出来了。

007

 

三、加双引号也一样不显示。

006

 

系统为:

OS 名称:          Microsoft Windows 8.1 企业版
OS 版本:          6.3.9600 暂缺 Build 9600

 

PowerShell版本:

Name                           Value
—-                           —–
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.34014
BuildVersion                   6.3.9600.17400
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

 

CMD:

007

 

这是什么原因导致的呢?我猜测是编码问题,不过不太了解。

 

0 Answers
1
Mooser Lee 管理员 answered 8 年 ago

方括号在PowerShell路径中具有通配符的作用。

PS> ls *.txt


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2016/1/11 0:00 0 ab-233.txt
-a---- 2016/1/11 0:00 0 ab.txt
-a---- 2016/1/11 0:00 0 bcd.txt
-a---- 2016/1/11 0:00 0 ef.txt



PS> ls [a]*.txt


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2016/1/11 0:00 0 ab-233.txt
-a---- 2016/1/11 0:00 0 ab.txt

所以如果要访问路径本身带有方括号的文件或者目录,你需要使用转义字符。和另外一个问题属于同一类问题,具体请参考: https://www.pstips.net/question/2682.html

much replied 8 年 ago

多谢。我居然忘了正则了,方括号类似正则中的作用吧。