我在Visual Studio中創建了一個後期構建腳本,我試圖運行該腳本,以便可以使遠程部署更加輕鬆。在這個腳本的早些時候(你在這裏沒有看到它),我們在下面的網絡使用執行中對用戶進行硬編碼。因此,我們在這裏所做的是讓用戶輸入要部署到的服務器名稱和數據庫,然後連接到該服務器的網絡共享。命令提示符執行命令的方式與批處理文件和Visual Studio後生成腳本不同
但是我發現,雖然只有在使用命令提示符運行時,下面的代碼才能正常工作。它打開一個新窗口並讓用戶放入服務器和數據庫,然後net use命令將正確顯示服務器的用戶輸入,全部在同一個窗口中。
但是,如果嘗試在批處理文件或Visual Studio中使用它,net use命令對於服務器名稱顯示空白。
我很欣賞任何人都可能對此有所瞭解!
START CMD /C "CALL SET /P SERVERNAME=Please Enter The Server Name: & CALL SET /P DATABASE=Please Enter The Database Name: & CALL CMD /C net use \\%SERVERNAME%\d$ /persistent:no * /user:%user%"
爲什麼所有'start'和'call' - 這些都用於異常情況。此外,這一切都在1線,沒有理由。修復你的代碼,看看會發生什麼。並轉儲所有'cmd/c'。 – 2016-02-05 06:14:31
CALL是我用來解決第三條語句的問題,首先在命令提示符中沒有獲得%SERVERNAME%的值。如果我沒有這些調用,那麼該變量仍然會解析爲%SERVERNAME%。我必須在Post Build事件的開始處有start和/或cmd,因爲如果我不這樣做,那麼Visual Studio不會爲用戶提示打開任何內容,只是掛起,這也是類似的原因,線。 – NPVinny