當(dāng)前位置: 首頁IT技術(shù) → 特別字符文件名導(dǎo)致win7不能識別

特別字符文件名導(dǎo)致win7不能識別

更多

在winxp中我們喜歡用特別字符加字母組成文件名,這樣子有利于我們更加容易區(qū)分與了解文件的意義,但是這些特別字符在win7中就有可能不能識別,下來我們就來看看這樣的現(xiàn)像吧。

  此問題在Win7所有版本中都會出現(xiàn),具體表現(xiàn)為使用右鍵以管理員身份運(yùn)行時(shí)批處理一閃即逝,雙擊運(yùn)行則正常。這個問題是本人在去年12月的時(shí)候發(fā)現(xiàn)的,應(yīng)該是Win7的一個BUG,當(dāng)時(shí)還發(fā)了幾條微博。

  假設(shè)文件名為“A&B.bat”,系統(tǒng)會認(rèn)為“&”前后是兩條語句,所以會執(zhí)行“A”和“B.bat”。

  假設(shè)文件名為“A^B.bat”,系統(tǒng)會忽略“^”,所以實(shí)際上運(yùn)行的是“AB.bat”。

  但是一般情況下當(dāng)前文件夾中并沒有“A”、“B.bat”、“AB.bat”這幾個文件,于是就自動退出了。這里說明一下,運(yùn)行“A”時(shí),系統(tǒng)不會運(yùn)行無擴(kuò)展名的“A”,而是會按照環(huán)境變量%PATHEXT%里面的值“.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC”按順序進(jìn)行查找“A.COM”、“A.EXE”……

  為此我們可以進(jìn)行驗(yàn)證,在某個文件夾中新建這6個文件A、A&B.bat、A.bat、A^B.bat、AB.bat、B.bat。

  除A&B.bat和A^B.bat外,內(nèi)容均為

  PowerShell@Echo %~nx0

  @Pause

  1

  2@Echo %~nx0

  @Pause

  其中%~nx0表示當(dāng)前批處理(0)的文件名(n)及擴(kuò)展名(x)。A&B.bat和A^B.bat需要把%~nx0換成A^&B.bat和A^^B.bat,因?yàn)椤?amp;”和“^”都需要轉(zhuǎn)義才能顯示

  雙擊直接運(yùn)行A&B.bat:

    右鍵管理員身份運(yùn)行A&B.bat:

    你還可以將A.bat、B.bat刪除其中一個或者都刪除再看看運(yùn)行結(jié)果,我就不截圖了。A^B.bat的結(jié)果和A&B.bat類似,也不截圖了。

 

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)