- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Diagnostics;
- namespace Test
- {
- class Program
- {
- static void Main(string [] args)
- {
- try
- {
- Console.WriteLine("请输入命令控制:");
- string str = Console.ReadLine();
- string [] execute = str.Split(' ');
- string path = "test.bat";
- string order = string.Empty;
- foreach (string s in execute)
- {
- order += s+" ";
- }
- order = order.TrimEnd(' ');
- Process p = new Process();
- ProcessStartInfo pi = new ProcessStartInfo(path, order);
- p.StartInfo = pi;
- p.Start();
- }
- catch (Exception ex) { Console.WriteLine(ex.Message); }
- }
- }
- }
@echo off
::如果要调试bat命令行代码 将开关打开 修改为:@echo on
if not "%1"=="1" echo 您没有选择关机
if "%1"=="1" shutdown -s -t 200
pause
if %2==0 shutdown -a
echo 系统已取消自动关机
pause
echo 下面,系统将输出第三个参数的值
echo %3
echo 如果第三个参数为"xcopy",系统则copy第四个参数指定的文件至第五个参数内:
pause
if %3==xcopy %3 %4 %5
::echo 复制完成
if not "%3"=="xcopy" echo 您没有选择执行复制命令
pause
echo 示例结束,谢谢!
pause
注意,批处理在接受参数的时候,如果用if进行参数比较的话,==前后要么都加“"”,要么都不加。
编译C# 代码后产生的exe文件,内输入: 1 0 xcopy copy文件的目录 保存copy文件的目录地址
即可看到批处理文件根据参数进行的判断操作。