彰化一整天的論壇

 找回密碼
 立即註冊
查看: 2938|回復: 0

批次檔 bat 以系統管理員身份執行路徑遺失的解決辦法

[複製鏈接]
發表於 2017-3-9 14:34:54 | 顯示全部樓層 |閱讀模式
  1. Win7 下經常需要管理員身份執行,
  2. 但是如果這樣原來 %cd% 可以取到的路徑變成了 system(32) 的...
  3. 這樣就蛋疼了!

  4. 尤其是 bat 基本上都是為了操作目前目錄的嘛...
  5. 發現解決方法如下,在頭部加入如下代碼:
  6. [bash]%~d0
  7. Cd %~dp0[/bash]

  8. 如果你是 Windows 7,以系統管理員身分執行就知道了!
  9. Vista 也是,反正不管哪個目錄,
  10. 管理員執行路徑都會變成系統的目錄,
  11. 主要是一些綠色軟體註冊服務什麼很蛋疼....

  12. 很多程式是批處理寫的...
  13. 但是需要權限..於是就蛋疼了,
  14. Vista/Win7 就有這個問題,
  15. 直接執行很多時候權限不夠,開管理員權限路徑又悲劇...
  16. 權限改了以上這個地方,管理員身份執行也就搞定了。

  17. 按:http://www.nanhubbs.com/bbs/thread-267581-1-1.html

  18.  
  19. DOS 批處理中 %cd% 和 %~dp0 的異同:

  20. 在 DOS 的批處理中,有時候需要知道當前的路徑,
  21. 在 DOS 中,有兩個環境變量可以跟當前路徑有關,
  22. 一個是 %cd%,一個是 %~dp0,
  23. 這兩個變量的用法和代表的內容一般是不同的。

  24. 1. %cd% 可以用在批處理檔案中,也可以用在命令列中,
  25. 展開後,是磁碟機代號+當前目錄路徑,

  26. %cd% 的內容是可以被改變的,
  27. 比如 CD 命令就可以改變它的內容。

  28. 如:在 C:\dir 下,
  29. [bash]echo %cd%[/bash]
  30. 顯示為 C:\dir,
  31. cd 切換到 qoo,
  32. 再 echo 則顯示為 C:\dir\qoo。

  33. 2. %~dp0 只可以用在批處理檔案中,
  34. 它是由它所在的批處理檔案的目錄位置決定的,
  35. 是批處理檔案所在的磁碟機代號+路徑,

  36. 在執行這個批處理檔案的過程中,
  37. 它展開後的內容是不可以改變的。

  38. 比如在 D:\ 下有個批處理檔案 dirshow.bat,
  39. 內容如下:
  40. [bash]@echo off
  41. echo this %%cd%% is %cd%
  42. echo this %%~dp0 is %~dp0[/bash]

  43. 在 C:\ 下執行它,輸出為:
  44. [bash]C:\>D:\dirshow.bat
  45. this %cd% is C:\
  46. this %~dp0 is D:\[/bash]

  47. 按:http://luck-donkey.iteye.com/blog/360342

  48.  
  49. %0 代表批處理本身,例 D:\program\abc\Custom.bat
  50. ~dp 是變量擴充
  51. d 既是擴充到磁碟機代號 D:\
  52. p 就是擴充到當前路徑 program\abc
  53. dp 就是擴充到磁碟機代號+當前路徑 D:\program\abc

  54. 按:http://www.cnblogs.com/smwikipedia/archive/2009/03/30/1424749.html

  55.  
  56. 以 D:\program\abc\Custom.bat 為例:
  57. %~d0 為指定批次檔所在的磁碟代號下,
  58. Cd %~dp0 為切換到批次檔所在的路徑位置,
  59. 以系統管理員身分執行則為:
  60. [bash]C:\Windows\system32>D:
  61. D:\>Cd program\abc\
  62. D:\program\abc>... [/bash]
  63. 返回到當前目錄執行批次檔,
  64. 則不會有遺失路徑的問題發生 :)
複製代碼



文章來源: http://srlog.blogspot.com/2011/10/bat.html
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)

GMT+8, 2022-5-19 14:17 , Processed in 0.028223 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表