比如我當前的bat是存放在d盤的1文件夾裡,作用是判斷後將我想要的文件復制到我所輸入的新路徑的文件夾裡,然後我直接運行的話是正常實現需求的,但是一旦我用管理員身份運行的話就復制到system32裡面去了,具體腳本如下:
rem 源文件所在路徑 (目標文件是放在共享上的)
set patch_dir=\192.168.16.26\源文件夾
rem 目標路徑 (原本這裡定位到當前文件夾是用%cd%,百度後說%~dp0可以用在管理員身份運行,/p用於獲取我輸入想放的文件夾)
set /p work_dir=%~dp0
rem 目標文件清單
set txt=%~dp0\目標清單.txt
rem 執行遍歷復制
for /f %%i in (%txt%) do (xcopy %patch_dir%\%%i*.exe %work_dir%\%%i /s /e /i)
pause
發現用%~dp0確實可以在管理員運行下獲取到當前路徑,但是後面的復制還是將文件復制到system32裡面去了,現在的情況是我bat和txt都在d盤文件夾1下,正常運行時我輸入test可以將獲取的文件放到d:\1\test下,但是如果我用管理員身份運行的話,文件就變成在system32/test裡面了,請問這是哪裡錯了?
無滿意答案,關閉帖子,結