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

Удаление файла по пути, содержащем имя пользователя

03.01.2016, 22:38. Показов 4519. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно удалить файл, но основная проблема в прописании пути
Удаление происходит cookies разных браузеров, а путь имеет примерный вид C:\\Documents and Settings\ваша учетная запись\Local Settings\Application Data\Opera\Opera 10 Preview\profile\cache4
Вот как прописать так чтоб "ваша учетная запись" была того пользователя который установил прогу
Как удалять сам файл, я научился
C#
1
File.Delete("E:\\ddd"); //удаление файла
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2016, 22:38
Ответы с готовыми решениями:

Убрать имя файла из пути
Доброго времени суток. есть переменная с путём к файлу, задача удалить с нее имя файла. Было так ...

Получить имя файла без полного пути
вы друзья уж простите, я 25 страниц пролистал в поиске но не нашел ответа (может не правильно искал) тема такая: var path =...

Выделить из полного пути к файлу только имя файла
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой ...

16
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18235 / 14149 / 5366
Регистрация: 17.03.2014
Сообщений: 28,843
Записей в блоге: 1
03.01.2016, 22:47
Uzul, примерно так:
C#
1
2
string localAppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string operaCachePath = Path.Combine(localAppDataPath, @"Opera\Opera 10 Preview\profile\cache4");
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,569
03.01.2016, 22:54
C#
1
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Opera\Opera 10 Preview\profile\cache4");
0
1 / 1 / 0
Регистрация: 26.11.2015
Сообщений: 43
04.01.2016, 00:10  [ТС]
Не могу понять, ваши коды что делают? Они удаляют файл по этому пути или просто указывают на это путь?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void button1_Click(object sender, EventArgs e)
        {
            string localAppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
            string operaCachePath = Path.Combine(localAppDataPath, @"Opera\Opera 10 Preview\profile\cache4");
            MessageBox.Show("Куки удалены", "Cocies");
 
        }
 
private void button1_Click(object sender, EventArgs e)
        {
            var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Opera\Opera 10 Preview\profile\cache4");
            MessageBox.Show("Куки удалены", "Cocies");
 
        }
0
31 / 27 / 8
Регистрация: 25.05.2015
Сообщений: 113
04.01.2016, 00:29
Вам указали как получить пути к C:\\Documents and Settings\ваша учетная запись\Local Settings\Application Data\Opera\Opera 10 Preview\profile\cache4 для текущей учетной записи, ну а дальше читайте https://msdn.microsoft.com/ru-... .110).aspx
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18235 / 14149 / 5366
Регистрация: 17.03.2014
Сообщений: 28,843
Записей в блоге: 1
04.01.2016, 00:42
Uzul, ты спросил "как прописать путь". Тебе привели соответствуюшие примеры. Если cache4 это файл, то его можно удалить передав путь к нему в метод File.Delete. Если cache4 это каталог, то надо добавить к пути имя файла и удалять его.
0
1 / 1 / 0
Регистрация: 26.11.2015
Сообщений: 43
09.01.2016, 15:34  [ТС]
Помогите пожалуйста, не могу понять как нормально прописать
Миниатюры
Удаление файла по пути, содержащем имя пользователя  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18235 / 14149 / 5366
Регистрация: 17.03.2014
Сообщений: 28,843
Записей в блоге: 1
09.01.2016, 17:00
Uzul, у тебя локальные переменные объявлены почему-то в аргументах. С точкой запятой причем. Если ты хотел таким образом сделать параметры по умолчанию, то так не получится т.к. значения по умолчанию должны быть константой. Хотя судя по коду эти "аргументы" вообще не нужны потому что вместо них ты используешь строковые константы.

Далее. Судя по имени метод button1_Click это обработчик нажатия кнопки. Следовательно у него должна быть аргументы object sender, EventArgs e

В итоге код следует переписать так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void button1_Click(object sender, EventArgs e)
{
    string localAppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
    string operaCachePath = Path.Combine(localAppDataPath, @"Opera\Opera 10 Preview\profile\cache4");
    if (System.IO.File.Exists(operaCachePath))
    {
        System.IO.File.Delete(operaCachePath);
        MessageBox.Show("успех");
    }
    else
    {
        MessageBox.Show("ошибка");
    }
}
0
1 / 1 / 0
Регистрация: 26.11.2015
Сообщений: 43
09.01.2016, 22:58  [ТС]
А можете помочь с изменением пути
C:\Users\Пользователь\AppData\Roaming\Op era Software\Opera Stable\файл "Cookies"
Пытался по вашему варианту сделать
Миниатюры
Удаление файла по пути, содержащем имя пользователя   Удаление файла по пути, содержащем имя пользователя  
0
31 / 27 / 8
Регистрация: 25.05.2015
Сообщений: 113
09.01.2016, 23:43
C#
1
Environment.GetFolderPath(Environment.SpecialFolder.Cookies).Replace(@"Microsoft\Windows\Cookies", @"Opera Software\Opera Stable\Cookies")
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,569
10.01.2016, 00:12
Где вы вообще взяли Environment.SpecialFolder.AppDataRoaming ? Используйте Environment.SpecialFolder.ApplicationDat a.
0
1 / 1 / 0
Регистрация: 26.11.2015
Сообщений: 43
28.04.2016, 01:27  [ТС]
Подскажите пожалуйста как правильно сделать эту прогу.
Для IE очистить целую папку нужно, но не проходит. Хотя путь вроде прописан правильно.
Для Mozila прописано вроде тоже правильно путь. Но все равно не удаляет
Для Chrome тоже прописал путь правильно. Но тоже не удаляет. В ручную удалил, получилось все. А через прогу не хочет.
Для Opera AppData\Local\Opera\Opera x64\cache вроде такой путь к кукам. Прописал вроде правильно, тоже не пашет((
Для Yandex AppData\Local\Yandex\YandexBrowser\User Data\Default\Cookies. Прописан тоже как вроде правильно.
Не знаю где мог ошибиться
Очень прошу, помогите
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
 private void button1_Click(object sender, EventArgs e) //  Opera
    {
string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string operaCookiesPath = Path.Combine(AppDataPath, @"Opera\Opera x64\cache");
        if (System.IO.File.Exists(operaCookiesPath))
            {
                System.IO.File.Delete(operaCookiesPath);
                MessageBox.Show("Cookies удалены");
            }
            else 
            {
                MessageBox.Show("Cookies не удалены");
            }
   
        }
 
              private void button2_Click(object sender, EventArgs e) // Chrome
        {
            string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string chromeCookiesPath = Path.Combine(AppDataPath, @"Google\Chrome\User Data\Default\Cookies");
            if (System.IO.File.Exists(chromeCookiesPath))
            {
                System.IO.File.Delete(chromeCookiesPath);
                MessageBox.Show("Cookies удалены");
            }
            else
            {
                MessageBox.Show("Cookies не удалены");
            }
        }
 
        private void button3_Click(object sender, EventArgs e) // Yandex
        {
            string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string yandexCookiesPath = Path.Combine(AppDataPath, @"Yandex\YandexBrowser\User Data\Default\Cookies");
            if (System.IO.File.Exists(yandexCookiesPath))
            {
                System.IO.File.Delete(yandexCookiesPath);
                MessageBox.Show("Cookies удалены");
            }
            else
            {
                MessageBox.Show("Cookies не удалены");
            }
        }
 
        private void button4_Click(object sender, EventArgs e) //Mozilla
        {
            string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string mozillaCookiesPath = Path.Combine(AppDataPath, @"Mozilla\Mozilla\Firefox\Profiles\koe6gp8f.default\cookies.sqlite");
            if (System.IO.File.Exists(mozillaCookiesPath))
            {
                System.IO.File.Delete(mozillaCookiesPath);
                MessageBox.Show("Cookies удалены");
            }
            else
            {
                MessageBox.Show("Cookies не удалены");
            }
        }
 
        private void button5_Click(object sender, EventArgs e) // IE
        {
            string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string IECookiesPath = Path.Combine(AppDataPath, @"Microsoft\Windows\Temporary Internet Files");
            if (System.IO.File.Exists(IECookiesPath))
            {
                System.IO.File.Delete(IECookiesPath);
                MessageBox.Show("Cookies удалены");
            }
            else
            {
                MessageBox.Show("Cookies не удалены");
            }
        }
0
31 / 27 / 8
Регистрация: 25.05.2015
Сообщений: 113
28.04.2016, 13:48
Вы удаляете файл, а вам, как я понимаю, надо очистить директорию... Т.е.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
        string operaCookiesPath = Path.Combine(AppDataPath, @"Opera\Opera x64\cache\");
        if (System.IO.Directory.Exists(operaCookiesPath))
            {
                Directory.Delete(operaCookiesPath, true); //true - если директория не пуста удаляем все ее содержимое
                Directory.CreateDirectory(operaCookiesPath);
                //Либо можно так
                //DirectoryInfo dirInfo = new DirectoryInfo(operaCookiesPath);
                //foreach (FileInfo f in dirInfo.GetFiles())
                //{
                //f.Delete();
                //}
 
                MessageBox.Show("Cookies удалены");
            }
            else 
            {
                MessageBox.Show("Указанная директория не существует.");
            }
0
1 / 1 / 0
Регистрация: 26.11.2015
Сообщений: 43
28.04.2016, 17:38  [ТС]
Ну это для оперы тока. А вот для других браузеров нужно чистить отдельный файл. Т.к. куки хранятся в отдельном одном файле. Путь же прописан вроде правильно, почему удаление не проходит? В чем ошибка понять не могу. Пишет все время что куки не удалены.
0
31 / 27 / 8
Регистрация: 25.05.2015
Сообщений: 113
29.04.2016, 20:43
Цитата Сообщение от Uzul Посмотреть сообщение
C#
1
2
3
4
5
string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string operaCookiesPath = Path.Combine(AppDataPath, @"Opera\Opera x64\cache");
string chromeCookiesPath = Path.Combine(AppDataPath, @"Google\Chrome\User Data\Default\Cookies");
string yandexCookiesPath = Path.Combine(AppDataPath, @"Yandex\YandexBrowser\User Data\Default\Cookies");
string IECookiesPath = Path.Combine(AppDataPath, @"Microsoft\Windows\Temporary Internet Files");
У вас указаны как папки. И соответственно надо тогда очищать как папку. Только не забудьте в конце пути добавить \, чтобы действительно это оказался путь к папке.

А вот
Цитата Сообщение от Uzul Посмотреть сообщение
C#
1
2
string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string mozillaCookiesPath = Path.Combine(AppDataPath, @"Mozilla\Mozilla\Firefox\Profiles\koe6gp8f.default\cookies.sqlite");
Это уже файл. Причем файл базы данных SQLight. Не совсем корректно его просто удалять. По идее надо подключиться к базе и очистить её. У меня не стоит фаерфокс поэтому проверить не могу, что из простого удаления получиться. (Если вы хотели его удалить, то код вроде верен в этой части).

И еще... Пишет, что "куки не удалены" потому, что вы в if определяете есть ли файл и после этого делаете заключение, что куки не удалены. А у вас указан путь к папке, а не к файлу, соответственно ничего удаляться даже и не попробует.
0
1 / 1 / 0
Регистрация: 26.11.2015
Сообщений: 43
30.04.2016, 16:53  [ТС]
Я в ручную удалил файл и норм все. Пришлось вбивать заново все пароли и логины везде. А с прогой не одно не работает. Проверил еще раз, где удалять файл, а где удалять папку.
На примере Chrome. Нужно удалить файл. Условие: если есть данный файл, то удалит. А он его не видит(
C#
1
2
3
4
5
6
7
8
9
10
11
string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string chromeCookiesPath = Path.Combine(AppDataPath, @"Google\Chrome\User Data\Default\Cookies");
            if (System.IO.File.Exists(chromeCookiesPath))
            {
                System.IO.File.Delete(chromeCookiesPath);
                MessageBox.Show("Cookies удалены");
            }
            else
            {
                MessageBox.Show("Cookies не удалены");
            }
Если у вас получится, можете скинуть свой целый код?
0
31 / 27 / 8
Регистрация: 25.05.2015
Сообщений: 113
01.05.2016, 02:51
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        
private void button1_Click(object sender, EventArgs e)
        {
            string path = @"D:\ChromeCache\User Data\Default\Cookies";
            if (File.Exists(path))
            {
                MessageBox.Show("Файл присутствует, удаляю.");
                File.Delete(path);
                MessageBox.Show("Файл успешно удален");
            }
            else
            {
                MessageBox.Show("Файл уже удален");
            }
        }
Только что набросал код, у меня все работает и файл удаляет. Единственное, хром должен быть закрыт, иначе он блокирует доступ к файлу. У меня файл куков для хрома находится по пути D:\ChromeCache\User Data\Default\Cookies т.к. я сам его туда переназначал.

Проверяйте пути к файлу еще раз. Поставьте точку останова на вашу строку

C#
1
if (System.IO.File.Exists(chromeCookiesPath))
и посмотрите что у вас в переменной chromeCookiesPath и проверьте правильность пути. Проблема в этом.

Вот правильный путь до куков хрома... Вам выше это уже не раз писали.
C#
1
2
            string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
            string chromeCookiesPath = Path.Combine(AppDataPath, @"Google\Chrome\User Data\Default\Cookies");
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2016, 02:51
Помогаю со студенческими работами здесь

Как извлечь имя файла без его полного пути и расширения?
как извлечь имя файла без его полного пути и расширения? какой код для кнопки сохранить в текстовом редакторе?

Отказано в доступе по пути на удаление файла
Возникла проблема с правами на удаление jpg файлов из папки на рабочем столе, пишет "отказано в доступе по пути": string...

Выделить из пути имя файла
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой строки...

C пути получить имя файла
Всем здрасте, у меня есть путь точнее много путей к каждому файлу в цыкле, выгледят так :\ ...

Получить имя файла из пути
Господа, помогите - совсем голову сломал. Нкидаю на Лист список файлов для дальнейшего использования. Private Sub...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru