xx
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="SSH.NET" Version="2020.0.2" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="6.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
+98
-41
@@ -1,61 +1,118 @@
|
||||
// See https://aka.ms/new-console-template for more information
|
||||
|
||||
using Renci.SshNet;
|
||||
using System.Diagnostics;
|
||||
using System.ServiceProcess;
|
||||
|
||||
string nginxPath = @"D:\test\EIImageViewerWeb\nginx.exe";
|
||||
string command = $"create EI_Nginx binPath= \"{nginxPath} -p D:\\test\\EIImageViewerWeb\\\" start= auto DisplayName= \"EI_Nginx_DisplayName\"";
|
||||
using System.Text;
|
||||
|
||||
try
|
||||
{
|
||||
// 使用SC命令创建Nginx服务
|
||||
using (var process = new System.Diagnostics.Process())
|
||||
// 创建一个SSH客户端实例
|
||||
using (var client = new SshClient("123.56.94.154", "Administrator", "WHxckj2019"))
|
||||
{
|
||||
process.StartInfo.FileName = "sc";
|
||||
process.StartInfo.Arguments = command;
|
||||
process.StartInfo.UseShellExecute = false;
|
||||
process.StartInfo.RedirectStandardOutput = true;
|
||||
process.Start();
|
||||
process.WaitForExit();
|
||||
|
||||
// 检查服务是否已成功创建
|
||||
if (process.ExitCode != 0)
|
||||
|
||||
// 连接到远程服务器
|
||||
client.Connect();
|
||||
//&& .\\IRaCIS_Vue_Web.bat
|
||||
|
||||
//&& ./IRaCIS_Vue_Web.bat
|
||||
string command = "cd C:\\Users\\Administrator\\VueSourceCode\\ ";
|
||||
|
||||
//// 切换到指定目录
|
||||
//var commandCd = client.CreateCommand("cd C:\\Users\\Administrator\\bat");
|
||||
using (var cmd = client.CreateCommand(command))
|
||||
{
|
||||
throw new Exception($"Error creating service: {process.StandardOutput.ReadToEnd()}");
|
||||
var output = cmd.Execute();
|
||||
|
||||
|
||||
Console.WriteLine(output);
|
||||
}
|
||||
}
|
||||
|
||||
// 启动Nginx服务
|
||||
using (var controller = new ServiceController("EI_Nginx"))
|
||||
{
|
||||
controller.Start();
|
||||
}
|
||||
var processInfo = new ProcessStartInfo("npm", "i")
|
||||
{
|
||||
CreateNoWindow = false,
|
||||
UseShellExecute = false,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
|
||||
Console.WriteLine("Nginx service created and started successfully.");
|
||||
using (var process = new Process())
|
||||
{
|
||||
process.StartInfo = processInfo;
|
||||
process.OutputDataReceived += (sender, args) => Console.WriteLine(args.Data);
|
||||
process.Start();
|
||||
process.BeginOutputReadLine();
|
||||
process.WaitForExit();
|
||||
}
|
||||
|
||||
|
||||
// 断开SSH连接
|
||||
client.Disconnect();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
}
|
||||
|
||||
Console.ReadLine();
|
||||
|
||||
string currentDir = Directory.GetCurrentDirectory();
|
||||
DirectoryInfo dirInfo = new DirectoryInfo(currentDir);
|
||||
|
||||
foreach (var subdir in dirInfo.GetDirectories())
|
||||
{
|
||||
FileInfo[] files = subdir.GetFiles();
|
||||
//// See https://aka.ms/new-console-template for more information
|
||||
//using System.Diagnostics;
|
||||
//using System.ServiceProcess;
|
||||
|
||||
foreach (FileInfo file in files)
|
||||
{
|
||||
if (file.Name == "Start.exe")
|
||||
{
|
||||
string startPath = Path.Combine(subdir.FullName, "Start.exe");
|
||||
Process.Start(startPath);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
//string nginxPath = @"D:\test\EIImageViewerWeb\nginx.exe";
|
||||
//string command = $"create EI_Nginx binPath= \"{nginxPath} -p D:\\test\\EIImageViewerWeb\\\" start= auto DisplayName= \"EI_Nginx_DisplayName\"";
|
||||
|
||||
Console.WriteLine("当前目录子文件中未找到Start.exe,程序即将退出...");
|
||||
Console.ReadLine();
|
||||
//try
|
||||
//{
|
||||
// // 使用SC命令创建Nginx服务
|
||||
// using (var process = new System.Diagnostics.Process())
|
||||
// {
|
||||
// process.StartInfo.FileName = "sc";
|
||||
// process.StartInfo.Arguments = command;
|
||||
// process.StartInfo.UseShellExecute = false;
|
||||
// process.StartInfo.RedirectStandardOutput = true;
|
||||
// process.Start();
|
||||
// process.WaitForExit();
|
||||
|
||||
// // 检查服务是否已成功创建
|
||||
// if (process.ExitCode != 0)
|
||||
// {
|
||||
// throw new Exception($"Error creating service: {process.StandardOutput.ReadToEnd()}");
|
||||
// }
|
||||
// }
|
||||
|
||||
// // 启动Nginx服务
|
||||
// using (var controller = new ServiceController("EI_Nginx"))
|
||||
// {
|
||||
// controller.Start();
|
||||
// }
|
||||
|
||||
// Console.WriteLine("Nginx service created and started successfully.");
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
// Console.WriteLine(ex.Message);
|
||||
//}
|
||||
|
||||
//Console.ReadLine();
|
||||
|
||||
//string currentDir = Directory.GetCurrentDirectory();
|
||||
//DirectoryInfo dirInfo = new DirectoryInfo(currentDir);
|
||||
|
||||
//foreach (var subdir in dirInfo.GetDirectories())
|
||||
//{
|
||||
// FileInfo[] files = subdir.GetFiles();
|
||||
|
||||
// foreach (FileInfo file in files)
|
||||
// {
|
||||
// if (file.Name == "Start.exe")
|
||||
// {
|
||||
// string startPath = Path.Combine(subdir.FullName, "Start.exe");
|
||||
// Process.Start(startPath);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
//Console.WriteLine("当前目录子文件中未找到Start.exe,程序即将退出...");
|
||||
//Console.ReadLine();
|
||||
Reference in New Issue
Block a user