.NET 2.x Корректный запуск BAT-файла - C#
Формулировка задачи:
С# , BAT , CMD Интересная ошибка
Столкнулся с ошибкой
например создали bat файл
Дальше класс в проекте на проверку
И код программы
Как заметили когда в батнику прописано так
programma Привет Карапулька
а в проге код args[0] получить команду
то выводит Привет Карапулька
Но если стереть в батнику: Привет Карапулька
и оставить просто programma
То код в проге args[0] , каким то чудом проходит все проверки в классе Null_pr
и выводит завершить прогу с ошибкой (Прекращена робота programma ) - закрыть программу
при этом не написав - не вывев сообщения что прописаны в классе
наверное я еще не знаю , скажите что добавить ?
Чтоб это проверялось если args[0] пуст и нету текста
то оно вывело ошибку что прописано в классе- а не завершало сеанс пограммы ?
@ echo off programma pause
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; namespace path_link_files { class Null_pr { public string str_tonull_str(string s) { string str=String.Empty; try { if (s!=String.Empty) { str = s; } else { MessageBox.Show("Пустое значение: " + s, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); ; } return str; } } }
using System; using System.Collections.Generic; using System.Text; namespace programma { class Program { static Null_pr nul=new Null_pr(); static void Main(string[] args) { string com=String.Empty; int n = 0; color("programma (v 1.0)"); com = nul.str_tonull_str(args[0]); Console.WriteLine(com); } static void color(string tit) { Console.Title = tit; Console.BackgroundColor=ConsoleColor.DarkCyan; Console.Clear(); Console.ForegroundColor=ConsoleColor.White; } } }
@ echo off programma pause
Кажется я догадываюсь , секрет в цикле
как бы так )))
for (int i = 0; i < args.Length; i++) { Console.WriteLine(args[i]); }
Решение задачи: «.NET 2.x Корректный запуск BAT-файла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; namespace path_link_files { class Null_pr { public string str_tonull_str(int i,string[] s) { string str=String.Empty; try { if (0<s.Length) { if (s[i] != String.Empty) { str = s[i]; } else { MessageBox.Show("Пустое значение: " + s, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Пустое значение: \nИндекс получения данных cmd: "+i+"\nКоличество индексов: "+s.Length, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); ; } return str; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д