在Win8中用批處理創(chuàng)建Oracle數(shù)據(jù)庫時報“Unable to open file”
這一問題的原因是在運(yùn)行批處理時使用了“以管理員權(quán)限運(yùn)行”。如果直接雙擊運(yùn)行是沒有問題的。
如果我就想用管理員權(quán)限運(yùn)行呢?
出這個錯誤的原因是,以管理員權(quán)限運(yùn)行時的當(dāng)前目錄不是批處理所在的目錄了。所以,解決的方法也簡單。只要在批處理的開頭加上下面這句就可以了。
cd /d %~dp0
這句話是什么意思呢?
%~dp0 “d”為Drive的縮寫,即為驅(qū)動器,磁盤、“p”為Path縮寫,即為路徑,目錄
cd是轉(zhuǎn)到這個目錄,不過我覺得cd /d %~dp0 還好些
選項(xiàng)語法:
~0 - 刪除任何引號("),擴(kuò)充 %0
%~f0 - 將 %0 擴(kuò)充到一個完全合格的路徑名(“f”是file,即文件)
%~d0 - 僅將 %0 擴(kuò)充到一個驅(qū)動器號
%~p0 - 僅將 %0 擴(kuò)充到一個路徑
%~n0 - 僅將 %0 擴(kuò)充到一個文件名(“n”是name 文件名)
%~x0 - 僅將 %0 擴(kuò)充到一個文件擴(kuò)展名
%~s0 - 擴(kuò)充的路徑只含有短名(“s”為Short,短的)
%~a0 - 將 %0 擴(kuò)充到文件的文件屬性(“a”為attribute,即屬性)
%~t0 - 將 %0 擴(kuò)充到文件的日期/時間(“t”time)
%~z0 - 將 %0 擴(kuò)充到文件的大小(Size 大小)
%~$PATH:0 - 查找列在路徑環(huán)境變量的目錄,并將 %0 擴(kuò)充
到找到的第一個完全合格的名稱。如果環(huán)境變量名
未被定義,或者沒有找到文件,此組合鍵會擴(kuò)充到
空字符串
可以組合修飾符來得到多重結(jié)果:
%~dp0 - 僅將 %0 擴(kuò)充到一個驅(qū)動器號和路徑
%~nx0 - 僅將 %0 擴(kuò)充到一個文件名和擴(kuò)展名
%~fs0 - 僅將 %0 擴(kuò)充到一個帶有短名的完整路徑名
%~dp$PATH:0 - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
到找到的第一個驅(qū)動器號和路徑。
%~ftza0 - 將 %0 擴(kuò)充到類似輸出線路的 DIR
%0為當(dāng)前批處理文件
如果0換成1為第一個文件,2為第2個

浙公網(wǎng)安備 33010602011771號