我正在尝试使用此程序,但我希望能够传递参数:
DeleteOnReboot(@"C:\test.txt");
“C:\ Text”是
所以我可以调用consoleapp.exe /C:\test2.exe
所以我在代码中会有一个变量,例如
DeleteOnReboot(@"%VARIABLE%");
完整代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
class Program
{
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern bool MoveFileEx(string
lpExistingFileName, string lpNewFileName, int dwFlags);
public const int MOVEFILE_DELAY_UNTIL_REBOOT = 0x4;
public static void DeleteOnReboot(string filename)
{
if (!MoveFileEx(filename, null,
MOVEFILE_DELAY_UNTIL_REBOOT))
Console.WriteLine("Failed");
}
static void Main(string[] args)
{
DeleteOnReboot(@"C:\test.txt");
Console.ReadKey();
}
}
}
答案 0 :(得分:2)
只使用程序入口点的args
数组(Main
)
示例:
DeleteOnReboot(args[0]);
答案 1 :(得分:0)
您是否检查过main中args变量的内容?这是传递参数的位置以及如何在控制台应用程序中访问它们。
答案 2 :(得分:0)
您需要从字符串[] args。
中提取文件路径DeleteOnReboot(参数[0]);
或类似的东西,并像这样调用:consoleapp.exe C:\ test2.exe