我在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