亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ccmprs.cpp

?? A command-line file compression utility for Windows NT. It allows you to select files for NTFS fil
?? CPP
?? 第 1 頁 / 共 2 頁
字號:

    } while (FALSE);

    return bRet;
}


//**************************************************************************
//  Main routine to do conditional file compression/decompression.
//**************************************************************************
int DoIt(LPSTR szFile)
{
    LPWIN32_FIND_DATA pFind  = NULL;
    HANDLE            hFind  = INVALID_HANDLE_VALUE;
    HANDLE            hFile  = INVALID_HANDLE_VALUE;
    int               nRet   = 0;
    int               cSlash = '\\';
    LPSTR             pszPath, p, pszFileName;
    DWORD             dwErr;
    static char       szExt[_MAX_PATH];

    do
    {
        // Allocate file-find structure.
        pFind = (LPWIN32_FIND_DATA)malloc(sizeof(WIN32_FIND_DATA));
        if (!pFind)
        {
            printf("Out of memory!\n");
            nRet = 1;
            break;
        }

        // Find start of file name within path, and get the slash character
        // being used.
        p = szFile + strlen(szFile);
        while (p != szFile && *p != '\\' && *p != '/' && *p != ':')
            p--;
        if (*p == '\\' || *p == '/' || *p == ':')
        {
            if (*p++ == '/')
                cSlash = '/';
        }
        pszFileName = p;

        // If we are recursing, scan for directories and recurse into any that we find.
        if (bRecurse)
        {
            char *szSaveFileName = (char *)malloc(strlen(pszFileName) + 1);
            if (szSaveFileName)
            {
                // Save file name portion of file specification, and temporarily
                // replace it with "*.*".
                strcpy(szSaveFileName, pszFileName);
                strcpy(pszFileName, "*.*");

                // For each directory...
                hFind = FindFirstFile(szFile, pFind);
                if (hFind != INVALID_HANDLE_VALUE)
                {
                    do
                    {
                        if ((pFind->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && pFind->cFileName[0] != '.')
                        {
                            // Create new filespec with directory name appended to directory portion.
                            pszPath = (LPSTR)malloc(strlen(szFile) + strlen(pFind->cFileName) + 6);
                            if (!pszPath)
                            {
                                printf("Out of memory!\n");
                                nRet = 1;
                                break;
                            }
                            strcpy(pszPath, szFile);
                            p = pszPath + (pszFileName - szFile);
                            strcpy(p, pFind->cFileName);
                            p += strlen(p);
                            *p++ = cSlash;
                            strcpy(p, szSaveFileName);

                            // Do the recursion.
                            nRet = DoIt(pszPath);

                            // Clean up.
                            free(pszPath);

                            // Bail now on error.
                            if (nRet)
                                break;
                        }

                    } while (FindNextFile(hFind, pFind));

                    // Clean up.
                    FindClose(hFind);
                }

                // Restore original file name.
                strcpy(pszFileName, szSaveFileName);
                free(szSaveFileName);
            }
        }

        // Start search for files.
        hFind = FindFirstFile(szFile, pFind);
        if (hFind == INVALID_HANDLE_VALUE)
        {
            //printf("The specified file path, %s, is invalid.\n", szFile);
            //nRet = 1;
            break;
        }

        // For each file...
        do
        {
            // Skip directories.
            if (pFind->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
                continue;

            // Ignore the file if its extension is in the "ignore extensions" list.
            if (szIgnoreExts)
            {
                for (p = pFind->cFileName + strlen(pFind->cFileName); p != pFind->cFileName && *p != '.'; p--) ;
                if (*p == '.')
                {
                    p++;
                    if (*p)
                    {
                        strcpy(szExt, p);
                        strlwr(szExt);
                        strcpy(szExts, szIgnoreExts);
                        p = strtok(szExts, " ,");
                        while (p)
                        {
                            if (!strcmp(p, szExt))
                                break;
                            p = strtok(NULL, " ,");
                        }
                        if (p)
                            continue;
                    }
                }
            }

            // Make full path and file name.
            strcpy(szTemp, szFile);
            strcpy(szTemp + (pszFileName - szFile), pFind->cFileName);

            // Get the file's compressed and uncompressed file sizes.
            DWORD dwFileSizeHi, dwCompSizeHi;
            hFile = CreateFile(szTemp, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_READONLY, NULL);
            if (hFile == INVALID_HANDLE_VALUE)
                continue;
            DWORD dwFileSizeLo = GetFileSize(hFile, &dwFileSizeHi);
            CloseHandle(hFile);
            if (dwFileSizeLo == 0xFFFFFFFF && (dwErr = GetLastError()) != NO_ERROR)
                continue;
            DWORD dwCompSizeLo = GetCompressedFileSize(szTemp, &dwCompSizeHi);
            if (dwCompSizeLo == 0xFFFFFFFF && (dwErr = GetLastError()) != NO_ERROR)
                continue;
            double filesize = (double)dwFileSizeHi * 4294967296.0 + (double)dwFileSizeLo;
            double compsize = (double)dwCompSizeHi * 4294967296.0 + (double)dwCompSizeLo;

            // Compress or decompress the file depending on compression state and flags.
            if (compsize == filesize)
            {
                // File is not compressed.  Skip it if it does not meet minimum size
                // requirement for compression.
                if (filesize < MinFileSize)
                    continue;

                // Compress the file.
                if (!SetFileCompression(szTemp, TRUE))
                    continue;

                // Get the new compressed size.
                dwCompSizeLo = GetCompressedFileSize(szTemp, &dwCompSizeHi);
                if (dwCompSizeLo == 0xFFFFFFFF && GetLastError() != NO_ERROR)
                {
                    SetFileCompression(szTemp, FALSE);
                    continue;
                }
                compsize = (double)dwCompSizeHi * 4294967296.0 + (double)dwCompSizeLo;

                // If the file did not compress enough, decompress it.
                if (compsize > filesize * threshold)
                    SetFileCompression(szTemp, FALSE);
                else
                {
                    sizechange += compsize - filesize;
                    nCompressed++;
                    if (!bQuiet)
                        printf("%s compressed.\n", szTemp);
                }
            }
            else
            {
                // File is compressed.  If the -d flag was not specified, just skip it.
                if (!bDecompress)
                    continue;

                // If the compression is not enough, or the file's original size is not
                // big enough, decompress the file.
                if (compsize > filesize * threshold)
                {
                    SetFileCompression(szTemp, FALSE);
                    if (!bQuiet)
                        printf("%s decompressed.\n", szTemp);
                    nDecompressed++;
                    sizechange += filesize - compsize;
                }
                else if (filesize < MinFileSize)
                    SetFileCompression(szTemp, FALSE);
            }

        } while (FindNextFile(hFind, pFind));

    } while (FALSE);

    // Clean up.
    if (hFind != INVALID_HANDLE_VALUE)
        FindClose(hFind);
    if (pFind)
        free(pFind);

    return nRet;
}


//**************************************************************************
//  The main entry point, the head honcho, the Big Cheeze...
//**************************************************************************
int main(int ac, char *av[])
{
    int nRet;

    // If no parameters are specified, display usage instructions.
    if (ac < 2)
    {
        DisplayUsage();
        return 1;
    }

    // Read command line parameters.
    if (!GetParameters(ac, av))
        return 1;

    // Do the compression/decompression.
    nRet = DoIt(szFileSpec);

    // Report results.
    printf("\n%d file(s) compressed, %d file(s) decompressed, ", nCompressed, nDecompressed);
    if (sizechange <= 0)
        printf("%.0lf bytes more free space.\n", -sizechange);
    else
        printf("%.0lf bytes less free space.\n", sizechange);

    // Clean up.
    if (szExts)
        free(szExts);
    if (szIgnoreExts)
        free(szIgnoreExts);

    return nRet;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三专区| 波多野结衣精品在线| 国产91富婆露脸刺激对白| 色综合久久99| 国产精品视频你懂的| 日韩高清不卡一区二区三区| 国产69精品久久777的优势| 色噜噜狠狠成人中文综合| 国产亚洲欧美一级| 精品在线播放免费| 欧美在线小视频| 亚洲天堂中文字幕| 国产成人亚洲综合a∨猫咪| 欧美一区二区视频在线观看| 亚洲精品国产a久久久久久| 国产黄人亚洲片| 日韩视频不卡中文| 性做久久久久久久免费看| 国产91精品入口| 国产欧美一区二区三区在线老狼| 五月天激情综合网| 欧美日韩一区成人| 亚洲精品中文字幕乱码三区| 99国产精品久久久久久久久久久| www国产成人免费观看视频 深夜成人网| 亚洲成年人影院| 欧美色图天堂网| 亚洲一区二区三区四区的| 日本韩国欧美一区二区三区| 日韩一区有码在线| k8久久久一区二区三区| 国产精品美女久久福利网站| 国产成人在线影院 | 裸体健美xxxx欧美裸体表演| 亚洲国产精品精华液2区45| 美女www一区二区| 日韩欧美一二三| 国产乱人伦精品一区二区在线观看| 欧美成人精品1314www| 蜜臀av一区二区在线观看| 日韩一区二区视频| 激情综合网激情| 中文字幕不卡在线观看| 不卡电影一区二区三区| 中文字幕在线不卡一区二区三区| www.日韩精品| 一区二区三区四区精品在线视频| 欧美日本一道本在线视频| 亚洲444eee在线观看| 91精品国产91综合久久蜜臀| 激情伊人五月天久久综合| 久久综合色天天久久综合图片| 国产精品主播直播| 亚洲精品中文在线| 欧美精品久久99久久在免费线| 日韩精品福利网| 2欧美一区二区三区在线观看视频| 国产精品影视天天线| 国产精品久久久久久久久晋中 | 欧美另类久久久品| 免费高清在线视频一区·| 久久精品欧美日韩精品 | 亚洲狼人国产精品| 91 com成人网| 国产精品91一区二区| 一区二区三区影院| 欧美mv日韩mv| 色哦色哦哦色天天综合| 开心九九激情九九欧美日韩精美视频电影| 久久亚洲精品小早川怜子| 91麻豆免费在线观看| 蜜桃av一区二区三区电影| 中文字幕av一区 二区| 欧美浪妇xxxx高跟鞋交| 国产高清精品久久久久| 亚洲夂夂婷婷色拍ww47| 日韩免费视频一区| 色婷婷综合视频在线观看| 精品无人区卡一卡二卡三乱码免费卡| 国产精品乱码一区二三区小蝌蚪| 欧美日韩一卡二卡| 国产.欧美.日韩| 首页国产欧美久久| 亚洲色图另类专区| 欧美mv日韩mv国产网站| 欧美性xxxxxxxx| 国产精品原创巨作av| 天天影视涩香欲综合网| 亚洲国产精品激情在线观看| 日韩一区二区三区四区| 色综合天天综合网国产成人综合天 | 久久久国产午夜精品| 欧美日韩一区视频| 91在线码无精品| 国产美女一区二区| 蜜桃久久久久久久| 午夜伦理一区二区| 亚洲色图都市小说| 国产精品超碰97尤物18| 久久综合av免费| 欧美v国产在线一区二区三区| 色诱亚洲精品久久久久久| 国产成人一区在线| 国产91精品免费| 国产福利精品一区二区| 另类欧美日韩国产在线| 婷婷一区二区三区| 三级精品在线观看| 午夜天堂影视香蕉久久| 亚洲资源中文字幕| 亚洲国产日日夜夜| 最新热久久免费视频| 精品理论电影在线观看 | www.亚洲免费av| 高清在线成人网| av中文一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 国产成人一区二区精品非洲| 国产99久久久久久免费看农村| 国产在线一区二区综合免费视频| 经典三级视频一区| 国产一区欧美一区| 国产91在线看| 成人av免费在线| 91亚洲午夜精品久久久久久| 粉嫩一区二区三区在线看| 国产69精品久久777的优势| 99久久精品99国产精品| 色就色 综合激情| 欧美午夜影院一区| 日韩免费成人网| 国产日韩欧美在线一区| 国产精品美女一区二区| 一区二区三区免费看视频| 亚洲成人自拍网| 国产一区二区三区四区五区美女| 国产最新精品精品你懂的| 成人午夜看片网址| 99精品1区2区| 欧美一卡在线观看| 久久久九九九九| 一区二区三区日本| 免费不卡在线观看| 成人午夜av影视| 色综合天天做天天爱| 337p亚洲精品色噜噜噜| 国产欧美一区二区精品仙草咪| 亚洲丝袜另类动漫二区| 性欧美疯狂xxxxbbbb| 国产自产高清不卡| 一本大道久久a久久综合| 欧美午夜在线一二页| 久久综合视频网| 夜夜亚洲天天久久| 国产一区二区三区黄视频 | 国产成人综合视频| 日本道在线观看一区二区| 日韩一区二区三区精品视频| 国产精品看片你懂得| 视频一区二区三区中文字幕| 国产乱子轮精品视频| 欧美日韩亚洲综合在线| 国产欧美日韩三级| 日本中文字幕一区二区有限公司| 成人综合在线网站| 欧美大片拔萝卜| 一区二区三区四区av| 福利电影一区二区三区| 777精品伊人久久久久大香线蕉| 国产精品久久久久久久久免费相片| 天天影视网天天综合色在线播放| 成人一区二区三区| 精品sm捆绑视频| 日韩在线观看一区二区| 91蝌蚪porny成人天涯| 亚洲精品一区二区三区在线观看| 亚洲不卡在线观看| 91视频在线观看免费| 久久久蜜桃精品| 看片的网站亚洲| 6080国产精品一区二区| 亚洲综合激情网| 91片黄在线观看| 中文字幕av一区二区三区免费看| 美国一区二区三区在线播放| 欧美日韩1区2区| 婷婷激情综合网| 欧美在线一区二区三区| 亚洲最快最全在线视频| 99久久精品免费精品国产| 国产精品欧美久久久久一区二区 | 午夜伦欧美伦电影理论片| 色婷婷综合久久| 亚洲人成精品久久久久久| 91原创在线视频| 亚洲欧美日本韩国| 日本精品一级二级| 亚洲国产综合在线| 精品视频一区二区三区免费| 香蕉av福利精品导航|