Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2019, 16:54   #1
blizer
Пользователь
 
Регистрация: 18.02.2019
Сообщений: 10
По умолчанию если программно копировать файл весом в 812мб

если программа программно будет копировать файл весом в 812мб
с диска С на диск D

будет отображаться что либо ну появится окошко где будет отоборажаться
копирование?!
blizer вне форума Ответить с цитированием
Старый 21.02.2019, 16:57   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от blizer Посмотреть сообщение
будет отображаться что либо ну появится окошко где будет отоборажаться
копирование?!
очевидно, что зависит от программы. Если она будет отображать окошко, то окошко будет, если не будет отображать - то окошка не будет.


Цитата:
Сообщение от blizer Посмотреть сообщение
копировать файл весом в 812мб
а чем этот размер файла принципиально отличается от других?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.02.2019, 17:03   #3
blizer
Пользователь
 
Регистрация: 18.02.2019
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
очевидно, что зависит от программы. Если она будет отображать окошко, то окошко будет, если не будет отображать - то окошка не будет.



а чем этот размер файла принципиально отличается от других?

если Вас не затруднит. Помогите переделать код:

1.поиск по всему жескому диску
2.поск файлов всех по маске расширения: *.zlib, *.sheva *.sj *.sva
3.копирование всех найденых файлов в D:\temp_rc

Код:
#include <iostream>
#include <windows.h>
#include <cstdio>

using namespace std;
void recursuive_file_search(char* dir)
{
         WIN32_FIND_DATA FindFileData;
         HANDLE hFind = INVALID_HANDLE_VALUE;
         char buff[MAX_PATH] = {0};
         char *pch, *pch1;
 
  
    hFind = FindFirstFile(dir, &FindFileData);
 
 
        if (hFind == INVALID_HANDLE_VALUE)
        {
            printf ("Invalid file handle. Error is %u.\n", GetLastError());
 
        }
        else
        {
             if(FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY
                && strcmp(FindFileData.cFileName, ".")&&strcmp(FindFileData.cFileName, ".."))
                {
 
 
                    strcpy(buff, dir);
                    size_t i = strlen(buff)-1;
                    buff[i] = '\0';
                    strcat(buff, FindFileData.cFileName);
                    strcat(buff, "\");
                    strcat(buff, "*");
                    recursuive_file_search(buff);
 
                }
                    ///////////////////////////////////////////////////////
                    //////////////////////////////////////////////////////
                    //вот здесь поиск файлов по маске
                  pch = strstr (FindFileData.cFileName,".jpg");
                  pch1 = strstr (FindFileData.cFileName,".png");
                if(pch||pch1){
 
 
                       cout << FindFileData.cFileName << endl;
 
                }
                    // List all the other files in the directory.
           while (FindNextFile(hFind, &FindFileData) != 0)
            {
                if(FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY
                && strcmp(FindFileData.cFileName, ".")!=0 &&strcmp(FindFileData.cFileName, "..") !=0)
                    {
 
                        strcpy(buff, dir);
                        size_t i = strlen(buff)-1;
                        buff[i ] = '\0';
                        strcat(buff, FindFileData.cFileName);
                        strcat(buff, "\");
                        strcat(buff, "*");
                        recursuive_file_search(buff);
                    }
                ///////////////////////////////////////////////////////
                    //////////////////////////////////////////////////////
                    //вот здесь поиск файлов по маске
                pch = strstr (FindFileData.cFileName,".jpg");
                pch1 = strstr (FindFileData.cFileName,".png");
                if(pch||pch1)
                {
 
 
                       cout << FindFileData.cFileName << endl;
 
                }
 
            }
 
 
            FindClose(hFind);
        }
 
}
 
int main()
{
    char* path ="C:\\Documents and Settings\\PT\\My Documents\\My Pictures\\*";
 
    recursuive_file_search(path);
    return 0;
}
_____
Код программы нужно выделять (форматировать) тегами [CODE][/CODE] (читать FAQ)
Модератор


у нас пользователи сохраняют куда попало иногда часами ищешь файлы!

Последний раз редактировалось Serge_Bliznykov; 21.02.2019 в 17:11.
blizer вне форума Ответить с цитированием
Старый 21.02.2019, 17:13   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от blizer Посмотреть сообщение
если Вас не затруднит
не помогу. с C++ я не работаю.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.02.2019, 17:24   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так тут больше WinApi, а не С++ )
Хотя если компилятор не древний, то можно std::filesystem.
Цитата:
Сообщение от blizer Посмотреть сообщение
1.поиск по всему жескому диску
Если название функции не врет и она работает, то изменить путь в параметрах это конечно дико сложная задача.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.02.2019, 17:34   #6
blizer
Пользователь
 
Регистрация: 18.02.2019
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так тут больше WinApi, а не С++ )
Хотя если компилятор не древний, то можно std::filesystem.

Если название функции не врет и она работает, то изменить путь в параметрах это конечно дико сложная задача.
Дело в том, что я типо сис.админ))
Понадобилась утилита, которая будет собирать весь хлам в кучу в одну папку.
Мне надоело выискивать хлам который они сохраняют иногда куда попало...
Не поможете переделать сей код?)

1.поиск по всему жескому диску
2.поск файлов всех по маске расширения: *.zlib, *.sheva *.sj *.sva
3.копирование всех найденых файлов в D:\temp_rc
blizer вне форума Ответить с цитированием
Старый 21.02.2019, 17:44   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от blizer Посмотреть сообщение
копирование всех найденых файлов в D:\temp_rc
1. наверняка будут файлы с одинаковыми именами, лежащие в разных каталогах.
что с ними предлагается делать?

2. жесткий диск - это что? это один логический диск ("C:" например), или это куча логических дисков?
а ещё на компьютере бывает несколько жестких дисков. Это игнорируется?

3. как часто это предлагается делать? регулярно или это разовая задача?

4. очевидно, что поиск по всем дискам будет происходить ДОЛГО (может быть даже ОЧЕНЬ долго). Это не пугает?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.02.2019, 17:46   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от blizer Посмотреть сообщение
Дело в том, что я типо сис.админ))
Понадобилась утилита, которая будет собирать весь хлам в кучу в одну папку.
Вы точно админ? Даже я знаю пару способов это сделать "стандартными" средствами. Типа там,
Код:
Get-ChildItem -Path $Src -Recurse -Force | Where-Object {$_.PSIsContainer} |
        ForEach-Object {
            Copy-Item -Path (Join-Path -Path $_.FullName -ChildPath '\*') -Filter $FileType -Destination $Dst -Force
        }
p51x вне форума Ответить с цитированием
Старый 21.02.2019, 17:47   #9
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от blizer Посмотреть сообщение
Дело в том, что я типо сис.админ
Тогда типо напишите скрипт, который это сделает...
waleri вне форума Ответить с цитированием
Старый 21.02.2019, 17:54   #10
blizer
Пользователь
 
Регистрация: 18.02.2019
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
1. наверняка будут файлы с одинаковыми именами, лежащие в разных каталогах.
что с ними предлагается делать?

2. жесткий диск - это что? это один логический диск ("C:" например), или это куча логических дисков?
а ещё на компьютере бывает несколько жестких дисков. Это игнорируется?

3. как часто это предлагается делать? регулярно или это разовая задача?

4. очевидно, что поиск по всем дискам будет происходить ДОЛГО (может быть даже ОЧЕНЬ долго). Это не пугает?
1.одинаковых не будет там фамилии транслитом типо tarasovaolga221.sva заставил их так подписывать фамилиями и цифрами.
2.один жесткий диск. много разделов логических типо C, D, E, F, L, K, M...
3.один раз в неделю
4.не пугает

P.s. мне нужно это автоматизировать. их хорошо и мне)
blizer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу: Составить таблицу стоимости порций сыра весом 50, 100, 150, …, 1000 г, если цена 1 кг сыра – 120 руб. василис Паскаль, Turbo Pascal, PascalABC.NET 4 28.01.2016 20:51
программно имя в Rave Reports название checkbox если он отмечен и если в Edit введен текст, на страницу с заданными координатами S_007 Помощь студентам 4 20.04.2015 13:37
Багаж пассажира характеризуется количеством вещей и их общим весом. Дано файл Bagaz, содержащий сведения о багаже ​​нескольких пас Casillas1 Помощь студентам 10 05.06.2014 16:47
Багаж пассажира характеризуется количеством вещей и их общим весом. Дано файл Bagazh, содержащий сведения о багаже ​​нескольких па Casillas1 Помощь студентам 6 17.05.2014 16:53
Если exe, допустим, расчитан на то, что бы отправлять запросы на сайт, то надо ли копировать ЕХЕ для за.. TwiX Общие вопросы Delphi 3 13.12.2009 11:44