Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Как пропустить папку ? с#

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 31.03.2016, 00:18   #1
 Разведчик
Аватар для Vasilisk98
 
Vasilisk98 неизвестен в этих краяхVasilisk98 неизвестен в этих краяхVasilisk98 неизвестен в этих краяхVasilisk98 неизвестен в этих краяхVasilisk98 неизвестен в этих краяхVasilisk98 неизвестен в этих краях
Регистрация: 02.07.2013
Сообщений: 0
Популярность: -572
Сказал(а) спасибо: 0
Поблагодарили 14 раз(а) в 10 сообщениях
 
Exclamation Как пропустить папку ? с#

Программа должна находить все Jpg файлы и копировать их в локальную директорию ,но как только она натыкается на туже папку где лежит программа, возникает ошибка . как пропустить эту папку ?


PHP код:
using System;
using System.IO;

namespace 
ConsoleApplication1
{

    class 
Program
    
{
        static 
void Main(string[] args)
        {
            
            
string a "D:\\";

            
DirectoryInfo b = new DirectoryInfo(a);
                try
                {
                    
DirectoryInfo[] test b.GetDirectories();
                 }
                 catch (
UnauthorizedAccessException)
                 {
                    
Environment.Exit(0);
                 }
                 
Find f = new Find();
            
f.FindFiles(a"*.jpg");
           

            
Console.ReadKey();

        }
    }



    public class 
Find
    
{
        public 
void FindInDir(DirectoryInfo dirstring patternbool recursive)
        {
           

            try
            {
                foreach (
FileInfo file in dir.GetFiles(pattern))
                {
                    
                    
Console.Out.WriteLine(file.FullName);

                    
string F Environment.CurrentDirectory;

                    
                    
File.Copy(file.FullName+"\\"filetrue);
                  


                }
            }
            catch (
UnauthorizedAccessException)
            {
            }

            if (
recursive)
            {
                
DirectoryInfo[] subdir dir.GetDirectories();


                
int i;
                
int l subdir.Length;
                
string F Environment.CurrentDirectory;
               
                for (
0li++)
                {
                    try
                    {
                        
FindInDir(subdir[i], patternrecursive);
                    }
                    catch (
UnauthorizedAccessException)
                    {
                       
                    }
                }
            }
        }
        
        public 
void FindFiles(string dirstring pattern)
        {
            
FindInDir(new DirectoryInfo(dir), patterntrue);
        }

    }


   


  Ответить с цитированием
Старый 01.04.2016, 17:30   #2
 Разведчик
Аватар для f4lrik
 
f4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауру
Регистрация: 14.02.2016
Сообщений: 2
Популярность: 557
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
Отправить сообщение для f4lrik с помощью Skype™
 
По умолчанию Re: Как пропустить папку ? с#

При поиске пропускать текущую папку. Для этого нужно добавить условие в самое начало функции FindInDir:
if (dir.FullName == Environment.CurrentDirectory)
return;

И лучше посмотреть в отладчике, нет ли на концах этих строк обратного слеша, чтобы условие выполнялось корректно.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обсуждение] Как пропустить встречу Нового года!? Оо BTO Треп 23 30.12.2013 17:13
[Помогите!] Как пропустить волну в порте? dimasya-crc Общение и обсуждение 3 15.06.2012 17:30
[Продам] 2 аккаунта WoT на обоих кв-5 vim122 World of Tanks 0 29.02.2012 23:44
[Помогите!] Как пропустить волну в порту? dats2 Общение и обсуждение 1 14.09.2011 23:13

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 16:09.

Пишите нам: [email protected]
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net