我有一個JavaScript代碼,需要進入控制檯應用程序。該腳本工作正常槽cmd但我想製作一個控制檯應用程序,所以它更友好。有人可以向我解釋如何在控制檯應用程序中編寫此代碼,或者使用鏈接將其附加到控制檯應用程序中。我是新來的控制檯應用程序,所以我道歉,如果我問任何愚蠢的:-)需要幫助才能將此代碼提供給控制檯應用程序
當我使用它的槽cmd然後我做以下; - 運行cmd。 - 輸入「cd downloads」,然後按回車。 - 輸入「cscript/nologo process.js log.txt 100 200」,然後按回車。 - 然後我將在cmd窗口中獲得一個列表,並且我需要在下載文件夾中包含process.js和log.txt以使其工作。
if(WScript.Arguments.Count() < 3)
{
WScript.Echo("Usage: cscript process.js <filename> <lower_value> <upper_value>");
WScript.Quit();
}
var filename = WScript.Arguments.Item(0);
var lowerBound = parseInt(WScript.Arguments.Item(1));
var upperBound = parseInt(WScript.Arguments.Item(2));
WScript.Echo("Here is the data from the file associated with the text 'verdi', where the");
WScript.Echo("number following 'verdi' is above " + lowerBound + " and below " + upperBound);
var fso = new ActiveXObject("Scripting.FileSystemObject")
var file = fso.OpenTextFile("log.txt", 1, false);
var lines = file.ReadAll().split('\r');
var failed = 0;
for(var idx in lines)
{
try
{
if(lines[idx].indexOf('verdi') > 0)
{
var tmp = lines[idx];
var regex = /verdi\s*\=\s*(\d+)/;
var result = regex.exec(tmp);
var num = parseInt(result[1]);
if(num >= lowerBound && num <= upperBound)
{
WScript.Echo(num);
}
}
}
catch(ex)
{
failed++;
}
}
if(failed > 0)
{
WScript.Echo("WARNING: one or more lines could not be processed!");
}
我已在控制檯應用程序的代碼,但它正常工作doesent。我可以選擇這些值並讓cmd運行。但是我沒有在窗口中看到結果並將結果打印到文檔中。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
private static object cmd;
private static int verdi;
private static int s;
private static int d;
public static object WScript { get; private set; }
static void Main(string[] args)
{
//Choose lower and upper value
Console.WriteLine("Choose a lower and upper value:");
string value = Console.ReadLine();
//Choose file
Console.WriteLine("Choose a file to scan:");
string file = Console.ReadLine();
//Run the javascript code
Console.WriteLine("cd downloads");
Console.WriteLine("cscript /nologo process.js {0} {1} > mydata.txt", file, value);
string command = Console.ReadLine();
Console.WriteLine("Press any key to start scan");
System.Diagnostics.Process.Start("cmd.exe", "/C" + command);
//Quit Console Application
Console.WriteLine("Press any key to quit.");
Console.ReadKey();
}
}
}
感謝您的快速幫助。我會嘗試代碼。是的,我同意你的意見。沒有理由,我只是新手。我可以在C#中做所有事情嗎?需要做些什麼?再次感謝你。 –
您應該可以將js代碼轉換爲C#。只需查看File類的文檔即可。 https://msdn.microsoft.com/en-us/library/system.io.file(v=vs.110).aspx – SpiderPig
感謝您的幫助。現在我差不多完成了。我現在已經將幾乎所有東西都提供給了C#。我只需要一點點幫助。我無法獲得上限和下限的價值。當我將文本文件加載到RichTextBox中時,我只希望軟件加載兩個給定值內的特定文本。防爆;較低的值=「verdi23」和較高的值=「verdi30」。然後,如果文本文件包含verdi24,verdi 27和verdi 40,則只有verdi24和verdi27應該加載到RichTextBox中。 有人有OpenFileDialog單擊button1時加載文本的解決方案? –