我正在尝试使用这个程序,但我希望能够传递一个参数:
DeleteOnReboot(@"C:\test.txt");
“C:\ Text”是
所以我可以调用consoleapp.exe /C:\test2.exe
所以我会在代码中有一个variables
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(); } } }
你需要从字符串[] args拉文件路径,名称。
DeleteOnReboot(参数[0]);
或者类似的东西,像这样调用它:consoleapp.exe C:\ test2.exe
只需使用程序入口点中的args
数组( Main
)
例:
DeleteOnReboot(args[0]);
你检查过你的args变量的内容吗? 这是参数传递到的位置以及如何在控制台应用程序中访问它们。