2017-09-13 402 views
-2

我有一個批處理文件,其目的是從網絡位置複製一個目錄,並將其放置在用戶系統的C:位置, t已經存在。問題是當主用戶嘗試這個時,顯示上面的消息並且應用程序隨後出錯。但是,當我在我的機器上運行時,嘗試和調試,它的工作方式應該沒有問題。僅限某些用戶:不支持UNC路徑默認爲windows目錄

我在這裏看到很多東西,但沒有看到它在哪裏工作,這取決於用戶。另外,大多數只關於網絡驅動器而不是當地人。

這是代碼。我不是這個.bat的作者,所以讓我知道是否有什麼東西看起來不正確。

@echo off 
echo Starting Application... 
rem copy files over to the users local computer to prevent .dll problems when running App 
C: 
CD \ 
if not exist "C:\App" mkdir c:\App 
CD App 
robocopy "\\server\shared\fuller\Apps\ThisApp" c:\App /S robocopy.log 
echo You may close this window or it will close by itself when the program is done. 
ThisApp1.exe 

我使用POPD和pushd將在各個景點試過,但我不知道在哪裏,我會把那些,或者即使它是適用於這種情況。

+0

他們正在從UNC路徑運行該程序,這就是您遇到此錯誤的原因。 – Squashman

+0

爲什麼我能夠在沒有錯誤的情況下從相同的路徑運行?我將它們並排運行,無論是來自同一地點,而是在不同的機器上。 – gfuller16

+0

當*確切*此消息出現? (您可能需要從批處理文件中刪除「@echo off」行以查看它正在執行的操作。) –

回答

0

把這一行二號線(後關閉@echo右)

pushd %~dp0 & REM needed in case 'Run as Administrator' or executed from network drive 

https://ss64.com/nt/pushd.html 注意,「以管理員身份運行」改變當前目錄...這將會把它回到它是哪裏。