微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们可以从共享path运行batch file.bat吗?

我有一个共享path(如/ servername / c $ /批处理/)所有我的batch file现在我正在写一个Web应用程序在C#运行.bat文件从该应用程序。 我有办法做到这一点,当我有一个物理path。 但在这里我没有物理path。 有没有可能做到这一点。

编辑#1

我只需双击它们就可以执行我的bat文件,或者在物理服务器上打开cmd程序,然后导航到驱动器并执行bat文件

编辑#2

System.Net.sockets – 定义一个超时? (C#)

Microsoft Jet数据库无法打开文件“…”已被其他用户独占打开,或者需要查看其数据的权限

如何基于单元格在DataGridView中单击来处理C#中的事件?

如何在Windows Server 2003上从IIS 6提供文件

Windows服务打印PDF文件

当我把UNCpath得到以下错误

我得到一个错误myprogram.exe不被识别为一个内部或外部命令可操作的程序或batch file。 9009

什么是确定应用程序位置的正确方法

将多个键绑定到KeyDown事件(Shift + *(Asterisk))

更改用户运行Windows窗体程序

是否有.NET接口来编辑Windows DNS服务器区域?

我可以通过使用PS获得RAID磁盘状态吗?

批处理文件不支持UNC路径作为其“当前目录”。 有一个黑社会的做法:

pushd "%~dp0" your batch stuff popd

%〜dp0扩展到当前(d)rive /(p)ath /(0)批处理文件

例:

好。 简单的批处理文件

pushd %~dp0 echo "Hello from batch land" echo %~dp0 popd

把它放在某个服务器上,然后尝试通过unc路径运行它:

C:> \serversharetest.bat

你会得到输出

C:>pushd \servershare Z:>echo Hello from batch land Hello from batch land Z:>echo \servershare \servershare Z:>popd C:>

奇怪,但它的作品。

这就是所谓的UNC路径

您可以像使用其他路径一样使用它。

但是,您的ASP.Net代码正在运行的用户必须具有对网络共享的读取访问权限。

显然,你有一个当前目录的问题。

.bat文件正试图从当前目录运行myprogram.exe 。

您可以在映射网络共享的本地计算机上创建一个包装文件批处理文件

pushd \serverc$dir call filename.bat popd

你可以把这个包装文件放在任何地方,然后从你的代码调用它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐