Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 31

Эмулирование команд Windows

24.09.2017, 18:29. Показов 832. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема в rm и touch, вообще touch должен создавать какие-либо файлы, но создает всегда папку несмотря на разрешение. А rm просто не удаляет.
Подскажите в чем проблема.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace CMD_Emulate
{
    class Program
    {
        static void Main(string[] args)
        {
            String c = args[0];
            String param = args[1];
            while (true)
            {
                if (c == "dir")
                {
                    new Dir(param);
                    break;
 
                }
                else if (c == "touch")
                {
                    new Touch(param);
                    break;
                }
                else if (c == "rm")
                {
                    new Rm(param);
                    break;
                }
 
            }
        }
    }
 
    class Dir
    {
        private String path;
 
        public Dir(String path)
        {
            this.path = path;
            if (!Directory.Exists(path))
            {
                Console.WriteLine("Директория не существует");
            }
            else
            {
                String[] files = Directory.GetFileSystemEntries(path);
                foreach (String s in files)
                {
                    Console.WriteLine(s);
                }
            }
         
        }
    }
 
    class Touch
    {
        private String name;
 
        public Touch(String name)
        {
            this.name = name;
            StreamWriter sr1 = new StreamWriter(@"\name.txt",true,Encoding.Default);
            sr1.WriteLine("123");
                sr1.Close();
            File.Create(name);
        }
    }
 
    class Rm
    {
        private String path;
 
        public Rm(String path)
        {
            this.path = @path;
            if (File.Exists(path))
            {
                File.Delete(path);
            }
            else
            {
                Console.WriteLine("Файл не существует");
            }
            
        }
    }
}
Добавлено через 1 час 12 минут
Исходно touch был такой
C#
1
2
3
4
5
6
7
8
9
10
 class Touch
    {
        private String name;
 
        public Touch(String name)
        {
            this.name = name;
            File.Create(name);
        }
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.09.2017, 18:29
Ответы с готовыми решениями:

Эмулирование CD диска Windows Setup под BIOS
Приветствую! Меня интересует вопросы следующие. Я знаю, как можно эмулировать образ CD диска(Установка Windows) в Windows'е, а можно...

Обработчик команд windows
В диспетчере задач появляется очень много "Обработчик команд Windows"

Реализация команд Linux в Windows
Застрял на моменте реализации функции, подскажите как реализовать команды полностью, например: ls ...

2
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 31
25.09.2017, 18:44  [ТС]
Тема еще актуальна)
0
Эксперт .NET
 Аватар для Rius
13235 / 7730 / 1681
Регистрация: 25.05.2015
Сообщений: 23,551
Записей в блоге: 14
25.09.2017, 18:48
Touch - не создание. Файл создаётся, если его не было. Если был, обновляются атрибуты.
Кликните здесь для просмотра всего текста
TOUCH(1) User Commands TOUCH(1)

NAME
touch - change file timestamps

SYNOPSIS
touch [OPTION]... FILE...

DESCRIPTION
Update the access and modification times of each FILE to the current time.

A FILE argument that does not exist is created empty, unless -c or -h is supplied.

A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output.

Чтобы создать файл, должен уже существовать каталог для него. Проверяйте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2017, 18:48
Помогаю со студенческими работами здесь

Реализация команд Unix в ОС Windows
Здравствуйте, уважаемые пользователи. Столкнулся вот с такой задачей: "Написать эмулятор команд ОС Unix в Windows". Суть такова: ввожу...

Полный список shell команд Windows 8
Полный список shell-команд Windows 8. У нас с вами на руках уже релиз-кандидат, а это значит, что к финальному релизу изменений в этой...

Массовое выполнение команд в сети Windows
Всем привет, мне нужно удалить один файл с нескольких машин, файл есть не на всех, вот нашел такую статью: Сделал все как...

Эмулирование ЛКМ (C#)
Доброе время суток. Столкнулся с такой проблемой. Играю я в одно приложение Мышка под номер 1, может превращающийся в разные...

Эмулирование Клавиатуры
Столкнулся с проблемой написал программу через mouse_event и такж для клавы но в окне котором клава не пашет и мышь и окна этакие скрыто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru