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

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

更多

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

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

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

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

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

  為此我們可以進(jìn)行驗(yàn)證,在某個(gè)文件夾中新建這6個(gè)文件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刪除其中一個(gè)或者都刪除再看看運(yùn)行結(jié)果,我就不截圖了。A^B.bat的結(jié)果和A&B.bat類似,也不截圖了。

 

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