问题标签 [processstartinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

c# - 为什么这段代码没有收到来自外部命令的完整输出?

我正在开发一种能够在特定驱动器上找到 PST 的工具。此代码采用项目路径只是因为它用于测试目的。

我的问题是,当我尝试在外部命令处理器中获取 shell 命令的执行输出时,我只得到了前 2 行:

我的结果:

驱动器 D 中的卷是数据卷序列号是 7C64-9650

预期结果:

驱动器 D 中的卷是数据卷序列号是 7C64-9650

D:\PATH 目录 13/12/2012 01:49 PM 1,014,047,744 Archives.pst 4 文件 1,355,919,360 字节

没有可用的错误消息。

0 投票
2 回答
64737 浏览

c# - 为进程设置环境变量

什么是环境变量概念?

在 C# 程序中,我需要调用一个可执行文件。该可执行文件将调用驻留在同一文件夹中的其他一些可执行文件。可执行文件依赖于两个环境变量“PATH”和“RAYPATH”来正确设置。我尝试了以下两件事:

  1. 我创建了一个进程并在 StartInfo 中设置了两个变量。变量已经存在,但缺少所需的信息。
  2. 我尝试使用 System.Environment.SetEnvironmentVariable() 设置变量。

当我运行该进程时,系统找不到可执行文件(“executable1”)。我试图将 StartInfo.FileName 设置为“executeable1”的完整路径 - 但是在“executeable1”中找不到名为 form 的 EXE 文件......

我该如何处理?

0 投票
0 回答
394 浏览

c# - ProcessStartInfo 参数的挑战 ncftpget

发布了几个解决方案来解释如何将多个参数传递给 ProcessStartInfo 以运行具有多个参数的 DOS 命令。在这种特殊情况下,它们都不起作用。

尝试从 ac# 应用程序内部运行 ncftpget - 使用精确的字符串文字 (@"arg1 arg2 arg3") 将多个参数传递给可执行文件。

发生的事情是参数列表足够长以至于它被截断,但不是我期望的(最后)。

所以我通过了类似的东西:

ncftp 得到的是

如果我不直接调用 ncftpget,而是编写一个 bat 文件并执行它,它就可以工作。

奇怪的是,使用 XP_CMDShell 从 T/SQL 调用 ncftpget 时,参数比这长得多。就好像有一些环境变量说“参数只能这么长,我要从头截断它们,而不是结束”

我试过引用这些论点,没有区别,同样的行为。

当然,如果 Microsoft 确实有一个不错的 ftp 解决方案……使用正确的模式……但这是他们永远不会修复的陈词滥调。

0 投票
1 回答
2097 浏览

c# - 运行 7-Zip 时抑制 Windows 安全警告

当尝试从 C# Windows 服务中运行 7-Zip 命令行 .exe 时,我的应用程序挂起而没有引发错误。在下面的部分设置断点表明,一旦我点击 Process.Start(p),就会发生挂起。我将相同的代码放在 Windows 窗体应用程序中,并收到“打开文件 - 安全警告”消息框,指出无法验证发布者。单击警告上的“运行”会导致它继续进行而没有任何问题。除了取消选中“在打开此文件之前始终询问”框之外,还有其他方法可以抑制此警告吗?

我的代码如下:

在此先感谢您的帮助。

0 投票
2 回答
3026 浏览

c# - 以编程方式从命令提示符启动节点 js 脚本

我的网络角色中有一个运行 Socket.io 实现的节点 js 脚本。我能找到的关于如何启动节点 js 脚本的唯一方法是在命令提示符下运行它,所以我在 web 角色中创建了一个后台任务,它在命令提示符下运行脚本。

我将节点 js 文件、cmd.exe 和节点模块文件的“复制到输出目录”的属性设置为“如果较新则复制”,它们是在 bin 文件夹中生成的。如果我手动启动 bin 文件夹中的 cmd.exe 并运行命令“node App.js”,它可以工作,socket.io 正在侦听的端口正在运行。但是当我像下面这样以编程方式运行命令时它不起作用。

它不会抛出任何错误,所以我不知道它是否在我的代码中存在问题,或者我们无法像这样启动节点 js 脚本。有什么方法可以查明命令是否正确执行?因为进程启动时没有打开 cmd 提示窗口。非常感谢任何指导、建议或想法。谢谢

编辑:

原来iisnode可以处理所有事情,我只需要在web.config中放置一个重写代码。从这里的示例 azure node js 应用程序http://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/我得到了这个重写代码

它会自动启动 App.js,但会将我的所有视图重新定向到 App.js 脚本。我想这与我上面写的重写代码有关。我应该进行哪些更改才能让 App.js 在启动时运行并且仍然能够访问我的其他 html 视图?

谢谢

0 投票
3 回答
14387 浏览

c# - ProcessStartInfo 参数

我有一个过程,需要一些参数。我希望它从 C# 开始。我在快捷方式中尝试了相同的参数并且它有效。另一方面,在 c# 中它没有,所以这里是参数。参数格式是正确的,但我在 -k 处得到错误的参数错误

进程开始,但立即关闭,因为应该测试的 -k 参数没有发送到程序。我曾尝试在 -l 之前添加一个 " " 空格,但同样,也尝试过 @" -l ..."

0 投票
1 回答
3757 浏览

c# - 使用 Asp.Net Web 应用程序中的 sysinternals PSExec 执行脚本

我正在尝试PSExec从我的 Asp.Net Web 应用程序执行以连接到远程服务器。不知何故,它"Access Denied Error -5"没有设置凭据,而是通过在 PSEXEC 命令中设置凭据来提供 "2250 Network connection could not be found". 我是服务器上的管理员并且我已Windows authentication and Asp.Net Impersonation启用 ( IIS7.5)。更有趣的是,当我尝试从 a 执行此操作时,console application甚至仅使用command prompt它就可以正常工作。我试图做一个 ping 操作作为测试。

这是我的代码片段:-

这里:-

相同的命令和代码适用于控制台应用程序。所以我相信这肯定与 Asp.net 应用程序有关,它无法将凭据转移到远程机器上。我尝试过startInfo.LoadUserProfile但无济于事。

感谢你的帮助。我试图查找类似的问题,但找不到解决我面临的问题的方法。

0 投票
9 回答
2143 浏览

c# - 我能否以原始形式(例如,包括引号)为我的应用程序提供参数?

我有一个 .Net 应用程序,它接受一堆命令行参数,处理其中的一些,然后将其余的用作另一个应用程序的参数

例如

MyApp.exe是我的应用程序, foo1是我的应用程序关心的参数。App2.exe是另一个应用程序,我的应用程序将使用 arg1 arg2 等作为参数运行 App2。

目前我的应用程序只是使用这样的东西运行 App2.exe

Process.Start(args[1], String.Join(" ", args.Skip(2)). 所以上面的命令将正确运行:带有参数“arg1 arg2”的 App2.exe。但是,考虑这样的事情

上面的代码将不知道引号,并将运行带有参数 C:\Program Files\readme.txt(不带引号)的 notepad.exe。我该如何解决这个问题?

0 投票
1 回答
791 浏览

vb.net - Async ProcessStartInfo : 运行 cmd 程序实时显示在文本框中,就像 cmd 窗口一样

我正在尝试运行一个输出到命令框的 exe 程序。我正在重定向输出以显示在文本框中,但它似乎只在程序完成时显示整个结果。我希望它在执行时一次显示一行。

这是我的代码:

无论如何,根据 MSDN,在我看来这应该有效,但事实并非如此。

0 投票
1 回答
540 浏览

c# - 如何通过 ProcessStartInfo 和 cmd 更改当前目录

目前,我正在使用 ProcessStartInfo 围绕 CMD 开发一个小型包装器,试图模拟命令窗口并添加一些我迫切需要的额外功能。

此 WINFORM 应用程序是一个多选项卡应用程序,因此您可以启动多个“会话”。此外,由于内容存储在富文本框中,我可以轻松复制它,更重要的是搜索控制台日志。

到目前为止,一切似乎都运行良好,但是当我询问当前目录时,我看到了这个应用程序的位置,这很好。但是当我向上一个目录时,它似乎不起作用。

我很确定我做错了什么。可以指出我是什么,我做错了什么吗?这是处理代码执行的代码摘录。