当通过命令行参数输入文件时,C#将文件文本传递给列表
我正在编写一个用于读取两个文本文件并使用其数据写入第三个文本文件的程序.我被指示将一个文件的内容传递给列表.我做了类似的事情,将内容传递到数组(见下文).但是我似乎无法与列表一起使用. 这是我过去用数组所做的: StreamReader f1 = new StreamReader(args[0]); StreamReader f2 = new StreamReader(args[1]); StreamWriter p = new StreamWriter(args[2]); double[] array1 = new double[20]; double[] array2 = new double[20]; double[] array3 = new double[20]; string line; int index; double value
20 2024-04-26
编程技术问答社区
如何在C#中向StandardInput (Process)传递文件名?
我正在使用命令行中的本机Windows应用程序spamc.exe(spamassassin -sawin32)如下: c:\ spamassassin \ spamc.exe -r 现在我想从C#拨打此过程: Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardInput = true; p.StartInfo.FileName = @"C:\SpamAssassin\spamc.exe"; p.StartInfo.Arguments = @"-R"; p.Start(); p.StandardInput.Write(@"C:\email.eml"); p.StandardInput.Close(); Console.Write(p.StandardOu
10 2024-04-26
编程技术问答社区
启动带有参数和收集输出的命令行
ProcessStartInfo startInfo = new ProcessStartInfo(); //startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = "tsvc -a -st rifs -h "+textBox1+" -sn "+textBox2+" -status"; Process process = new Process(); process.StartInfo = startInfo; process.Start(); richTextBox1.Text = process.StandardOutput.ReadToEnd(); 我需要在cmd中运行一个命令,该命令将采用2个参数,这些参数将插入textbox1和textbox2,然后将输出发送到RichTextbox1. 在这种方式运行时,我得到
2 2024-04-26
编程技术问答社区
带有参数的命令行
我有此代码: string filePath = ConfigurationManager.AppSettings.Get("FILE_SAVE_PATH") + fileName; string newFilePath = ConfigurationManager.AppSettings.Get("FILE_SAVE_PATH") + fileName.Replace(".dbf", ".csv"); ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.WorkingDirectory = ConfigurationManager.AppSettings.Get("FILE_SAVE_PATH"); startInfo.FileName = "cmd.exe"; startInfo.Arguments = string.Format("\"{0}\" \"{1}\" /EXPORT:{2} /SEPTAB"
4 2024-04-26
编程技术问答社区
什么是处理多个文件的最有效方法?
我试图通过将多个文件拖动到.exe来启动程序,然后将EXE根据程序本身中的规则和逻辑发送到Diadfrent文件夹. 我遇到的问题是我通过控制台应用程序执行此操作,一次可以将多少信息发送到EXE. 在运行Microsoft Windows的计算机上 XP或更高版本,最大长度 您可以在命令上使用的字符串 提示为8191个字符.在 运行Microsoft Windows的计算机 2000或Windows NT 4.0,最大 您可以使用的字符串长度 在命令提示为2047 字符. 在这个问题上最简约的方式是什么?我想避免在可能的情况下始终在后台运行程序. 解决方案 而不是将文件拖动到" .exe",也许您可​​以创建一个"热文件夹"将文件放入中.您需要编写应用程序来监视此文件夹(使用其他解决方案 有一种方法可以编写.NET程序,该程序使用FilesystemWatchter类观看特定文件夹.我写了这个想法是您指出一个文件夹并订阅该文件夹上的某些事件(文件重命名,添加,
2 2024-04-26
编程技术问答社区
什么是处理多个文件的最有效方法?
我试图通过将多个文件拖动到.exe来启动程序,然后将EXE根据程序本身中的规则和逻辑发送到Diadfrent文件夹. 我遇到的问题是我通过控制台应用程序执行此操作,一次可以将多少信息发送到EXE. 在运行Microsoft Windows的计算机上 XP或更高版本,最大长度 您可以在命令上使用的字符串 提示为8191个字符.在 运行Microsoft Windows的计算机 2000或Windows NT 4.0,最大 您可以使用的字符串长度 在命令提示为2047 字符. 在这个问题上最简约的方式是什么?我想避免在可能的情况下始终在后台运行程序. 解决方案 而不是将文件拖动到" .exe",也许您可​​以创建一个"热文件夹"将文件放入中.您需要编写应用程序来监视此文件夹(使用其他解决方案 有一种方法可以编写.NET程序,该程序使用FilesystemWatchter类观看特定文件夹.我写了这个想法是您指出一个文件夹并订阅该文件夹上的某些事件(文件重命名,添加,
2 2024-04-26
编程技术问答社区
如何从一个网络应用程序中运行一个命令行进程?
我想使用C#在ASP.NET 4.0中运行命令行.实际上,我需要为此创建一个Web服务.我怎样才能做到这一点?我在某个地方读到,当我们从Web运行命令行时,可能会有一些权限问题.如果是这样,我该如何克服? 解决方案 using(var cmd= new Process()) { cmd.StartInfo.FileName = "cmd.exe"; cmd.StartInfo.Arguments = ""; cmd.Start(); } 该过程以Web服务过程运行的相同凭证启动.默认值为当地系统或网络服务.这些可能没有适当的许可可以做您打算做的任何事情. 请记住,这样做这样的事情被认为是不安全和不良练习. 其他解决方案 在这里您可以以我为此目的创建的类ProcessRunner的示例: https://github.com/Alexanderbeletsky/cantidate.n
10 2024-04-25
编程技术问答社区
C# 从命令行运行表单程序时隐藏表单
我正在研究一个基于表格的程序,但我被要求添加一些命令行支持,除了从命令行运行时,这可以很好地效果,除了表格上并关闭.无论如何,在命令行正在运行时隐藏表格吗?有些代码确实是指控件,因此GUI需要可访问但不可见,这是可行的吗? 解决方案 在您的主要方法中您可以创建表单,例如: main = new MainForm(); 然后进行任何命令行处理. 不在命令行模式时,只需致电: Application.Run(main); 其他解决方案 我遇到的一些应用程序与表单类的构造函数有关,这些应用程序具有此行为.基本上,他们的构造函数处理命令行参数和调用环境.EXIT(0)当命令行ARGS的过程成功完成时.呼叫环境.在表单类的构造方面完成之前,有效地防止表单出现. 话虽如此,这很容易出错,我想说的是没有表单类作为应用程序的启动.改用另一个可以根据需要进行实例化并显示表单的类,或者处理命令行参数.
2 2024-04-25
编程技术问答社区
如何在.NET MVC(c#)中通过网页为MSSQL数据库提供一个SQL命令行界面(如osql)。
我想为我的数据库提供命令行接口,允许用户输入多个数据库命令或查询(通过TextArea中的线路断开) 对于每行,如果查询必须返回结果,并且是否成功,是否成功 - 因此,用户可以将脚本粘贴到文本区域中,然后单击" go"以使批处理执行. 我一直在使用DataContext与应用程序中的数据库接口,但有一个线索从哪里开始.任何帮助将不胜感激 解决方案 考虑一下您将带入网站的安全问题. 再次考虑安全性.聪明的用户(您/我更聪明)如何使用此页面进入数据库. 也许/可能在此阶段没有考虑过一些错误的SQL. 使用直接SQLConnection和当您使用的数据库是SQL Server时.当您需要使用它们时,请使用Oracle或其他提供商. SQLCommand可以返回更多作为1结果,这在一个查询中的多个命令中很方便.请参阅 其他解决方案 正如上一个答案所指出的,如果它是公开访问的网站,请不要这样做! 如果您必须这样做,则以下代码接近您所追求的内容 -
6 2024-04-25
编程技术问答社区
C#程序不能从Java中执行
我有我制作的C#程序,虽然可以通过单击EXE文件或单击批处理文件来运行它,但我无法在运行它的Java程序上启动该程序.我已经尝试了这条代码,无法运行该软件. Runtime.getRuntime().exec("nameOfTheExeFile"); 或将其设置为我启动程序的批处理文件. Runtime.getRuntime().exec("nameOfTheBatchFile"); 现在有趣的是,当我使用批处理文件尝试时,我会发现一个错误,说找不到该文件,但是当我双击批处理文件时,它将启动EXE文件. 我什至尝试使用过程,但我也没有任何运气 List cmdAndArgs = Arrays.asList(new String[]{"cmd.exe", "/c", "ProgramName.exe"}); ProcessBuilder pb = new ProcessBuilder(cmdAndArgs); Process p = pb.start()
4 2024-04-24
编程技术问答社区
如何使用C#在远程计算机上运行命令行
可能的重复: 如何在远程计算机中执行命令? 这是我的问题. 我有一个远程计算机liqiandev,上面有一个命令C:\ test \ test.cmd.现在我有一个Web服务器Liqiantest,我想使用C#代码在远程计算机Liqiandev上运行test.cmd,我应该如何执行此操作? 非常感谢您的帮助. 解决方案 您可以使用 psexec ,这是微软系统的一部分.因此,您可以使用C#创建运行PSEXEC命令的本地进程. 另外,您可以使用 Windows PowerShell Remoting 在另一台计算机上的脚本.再一次,可以使用C#进行启动. 我认为您也可以使用WMI甚至RDP进行. 其他解决方案 简短答案:您不能.有各种各样的障碍可以防止您能够做到这一点. 更长的答案:如果您通过运行此代码来解释要完成的工作,则可能有更好的方法来完成.
6 2024-04-24
编程技术问答社区
如何通过命令行运行所有的网络测试
我有针对WebTests的专用DLL项目.我知道如何运行指定的WebTest C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE>mstest /testcont ainer:"MyPath\PostAccessToken.webtest" /resultsfile:MyResultPath\MyResults.trx 但是如何通过一个命令从此库中运行所有Web Tests?如果我将DLL路径作为testContainer,那么我会收到消息"找不到测试" 解决方案 尝试以下方法: mstest/testContainer:postaccesstoken.dll
2 2024-04-24
编程技术问答社区
VS 2017的开发者命令提示中的语言版本
我创建了以下程序 public class Program { static void Main() { System.Console.WriteLine("Hello, World!"); } } 在命令提示符中编译代码时( c:\ Windows \ Microsoft.net \ Framework \ v4.0.30319 \ csc hello.cs ),返回 Microsoft (R) Visual C# Compiler version 4.7.3056.0 for C# 5 Copyright (C) Microsoft Corporation. All rights reserved. This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C#
6 2024-04-24
编程技术问答社区
如何在.NET MVC(c#)中通过网页为MSSQL数据库提供一个SQL命令行界面(如osql)。
我想为我的数据库提供命令行接口,允许用户输入多个数据库命令或查询(通过TextArea中的线路断开) 对于每行,如果查询必须返回结果,并且是否成功,是否成功 - 因此,用户可以将脚本粘贴到文本区域中,然后单击" go"以使批处理执行. 我一直在使用DataContext与应用程序中的数据库接口,但有一个线索从哪里开始.任何帮助将不胜感激 解决方案 考虑一下您将带入网站的安全问题. 再次考虑安全性.聪明的用户(您/我更聪明)如何使用此页面进入数据库. 也许/可能在此阶段没有考虑过一些错误的SQL. 使用直接SQLConnection和当您使用的数据库是SQL Server时.当您需要使用它们时,请使用Oracle或其他提供商. SQLCommand可以返回更多作为1结果,这在一个查询中的多个命令中很方便.请参阅 其他解决方案 正如上一个答案所指出的,如果它是公开访问的网站,请不要这样做! 如果您必须这样做,则以下代码接近您所追求的内容 -
6 2024-04-24
编程技术问答社区
" C:程序"未被认为是内部或外部命令
尝试将下面的代码发送到命令行,但我会遇到错误.我知道发送到CMD的后斜线存在问题.这里有任何有关如何发送的帮助吗?谢谢! string strCmdText="/C C:\\Program Files\\MetaTrader 5\\terminal64.exe /config:C:\\Users\\vguer036\\AppData\\Roaming\\MetaQuotes\\Terminal\\D0E8209F77C8CF37AD8BF550E51FF075\\config\\common.ini"; System.Diagnostics.Process.Start("CMD.exe", strCmdText); 解决方案 当您使用此信息时: string strCmdText="/C C:\\Program Files\\MetaTrader 5\\terminal64.exe /config:C:\\Users\\vguer036\\AppData\\Roamin
16 2024-04-24
编程技术问答社区
c#注册命令行参数不要启动新实例
应用程序 c:\ pinkpanther.exe 正在运行,这是我在C#中写的应用程序. 其他一些应用程序启动 c:\ pinkpanther.exe pureplealigator greenagazelle greengazelle greathorangutan ,我不想用这些论点开始新的实例 c:\ pinkpanther.exe ,但是目前是运行 c:\ pinkpanther.exe 对其进行注册并以某种方式做出反应. 如何做? 编辑!!:我对Pinkpanther.exe和Ruzovyjeliman.exe感到非常抱歉,这引起了混乱 - 我从母语中翻译了问题,错过了:( 解决方案 要与应用程序的另一个实例进行通信,您需要某种过程间通信.显然, wcf是推荐形式的形式IPC IN .NET .您可以使用这样的代码来执行此操作(使用WPF,但Winforms会相似): [ServiceContract] public interface ISingle
12 2024-04-24
编程技术问答社区
TextTransform.exe似乎只接受C#的旧版本
当我在Visual Studio内扩展T4模板时,我可以使用完整的C#3.0语法,包括Linq Expressions等.当我使用TextTransform.exe在Visual Studio外面展开它时,它会抱怨LINQ表达式和C#3.0的其他新功能.是否有较新版本的texttransform.exe? 我正在运行的那个在: C:\Program Files\Common Files\Microsoft Shared\TextTemplating\1.2\TextTransform.exe 解决方案 1.2是使用Visual Studio 2008发货的TextTransform的版本.但是,除非您在模板指令. 3.5是C#3.0编译器的C#编码提供商的内部版本.
12 2024-04-23
编程技术问答社区
在C#中打开命令行并发送命令 PuTTY或KiTTY
我想从GUI中从C#打开命令行,然后发送此行: kitty.exe abc@192.19.35.80 -load file -l name -pass pswrd -cmd "echo 123" 这实际上是要打开小猫(这是腻子的端口),然后将命令echo 123(只是一个示例)发送到SSH. 我找不到任何方法在C#中. 解决方案 System.Diagnostics.Process cmd = new System.Diagnostics.Process(); cmd.StartInfo.FileName = @"C:\windows\system32\cmd.exe"; cmd.StartInfo.UseShellExecute = false; cmd.StartInfo.RedirectStandardInput = true; cmd.StartInfo.RedirectStandardOutput = true; cmd.StartInfo.Creat
12 2024-04-23
编程技术问答社区
在C#中多次运行一个exe命令的最快方法是什么?
我的代码(用C#编写)运行exe命令多次(平均800倍). 目前,我在c#中以Process的方式运行exe命令: var process1 = new Process() { StartInfo = new ProcessStartInfo() { FileName = "latex", Arguments = String.Format("-quiet -output-directory=\"{0}\" \"{1}\"", equationDirectory, equationTEX), WorkingDirectory = equationDirectory, CreateNoWindow = true, UseShellExecute = false, RedirectStandardError = true,
10 2024-04-23
编程技术问答社区
从Fortify sourceanalyzer命令行获取文本输出
与问题有关: fortify命令行的用法/p> 我想对由TeamCity的命令行跑步者触发的.NET解决方案进行夜间强化扫描.我想将结果自定义摘要发布到网页上. 我想要的关键信息是每个关键级别的问题数量. 我以前已经使用了-f命令行开关与审计工作台客户端一起使用,但是结果.fpr文件看起来很难解析和手动解释. 我正在使用Fortify Static Code Analyzer 5.15.0.0060,似乎没有一个可以用来指定文本的选项. 有没有办法获得扫描发现的问题的数量? 解决方案 使用reportgenerator实用程序.它是专门为此目的而设计的.
12 2024-04-23
编程技术问答社区