你可以,如果你會使用pushd
作爲一個快速版本的net use
。
正如您已經觀察到UNC路徑不受支持,所以您必須解決。命令pushd \\Server\Path\
將在它運行的機器上創建一個網絡驅動器,如Z:\
,自動切換到它(如cd /d Z:\
),並推送堆棧上的路徑(稍後適用)。
然後,您可以使用它來訪問服務器目錄:
pushd "%~dp0"
pushd \\Server\c$
"Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\DTExec.exe" /f "Packages\Unapplied and Patient Balances.dtsx"
popd
應該做的伎倆。
命令popd
用於
1)刪除網絡驅動器和
2)從路徑
所以你實際上可以可以先推你需要的所有服務器路徑(彈出目錄時〜 20基於你的文件系統),並在一個循環中爲每個路徑執行相同的操作並執行popd以進入下一個存儲路徑。
在popd
前面添加pause
並查看資源管理器時,可以看到驅動器已連接。
注意:只有當至少有一個驅動器號仍未被使用時纔會起作用,因爲它是臨時映射所需的!
編輯:添加pushd "%~dp0"
擺脫評論中提到的警告。 %dp0
代表d rive和p ath th批處理文件參數始終是批處理文件本身。 ~
刪除潛在的周邊報價。
編輯2:我開始使用我的Windows 7虛擬機來自行測試。我寫了一個.exe文件,它只是爲了執行一個批處理文件,它只是在當前時間在桌面上創建一個文件。我沒有服務器,所以我不能測試它到100%,但試圖從虛擬機使用pushd \\localhost\c$
運行時,它工作正常......我試圖建立從主機的連接,但無法讓它以這種方式工作也不是另一個。您是否嘗試過運行您在服務器上創建的批處理文件?例如:
%time%>"%USERPROFILE%\Desktop\myFile.txt"
只是爲了測試連接?
隨意問問是否不清楚!
閱讀[this](http:// stackoverflow。com/questions/9013941/how-to-run-batch-file-from-network-share-without-unc-path-are-supported-me) – elzooilogico
閱讀此:['pushd'](http:// ss64.com/nt/pushd.html)和['popd'](http://ss64.com/nt/popd.html) – aschipfl