 |
【程序】 // ExploreFolder.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include <Windows.h>
#define echo(str) WriteConsole(hConsoleOutput, str, _tcslen(str), NULL, NULL) #define echo_t(str) echo(TEXT(str))
HANDLE hConsoleOutput;
BOOL explore(LPTSTR szFolder, UINT indent = 0) { TCHAR szFileName[MAX_PATH]; TCHAR szNextFolder[MAX_PATH]; _tcscpy_s(szFileName, szFolder); _tcscat_s(szFileName, TEXT("\\*"));
WIN32_FIND_DATA ffd; HANDLE hFindFile = FindFirstFile(szFileName, &ffd); if (hFindFile == INVALID_HANDLE_VALUE) return FALSE;
UINT i; do { // 忽略.和.. if (ffd.cFileName[0] == '.') continue;
// 缩进 i = indent; while (i--) echo_t("--");
// 输出文件或文件夹的名称 echo(ffd.cFileName); echo_t("\r\n");
// 递归遍历子文件夹 if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { _tcscpy_s(szNextFolder, szFolder); _tcscat_s(szNextFolder, TEXT("\\")); _tcscat_s(szNextFolder, ffd.cFileName); explore(szNextFolder, indent + 1); } } while (FindNextFile(hFindFile, &ffd));
FindClose(hFindFile); return TRUE; }
int _tmain(int argc, _TCHAR* argv[]) { hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); explore(TEXT("C:\\Program Files\\Windows Media Player")); return 0; }
|
 |
【输出】 en-US --mpvis.dll.mui --setup_wm.exe.mui --wmlaunch.exe.mui --WMPDMC.exe.mui --WMPDMCCore.dll.mui --wmplayer.exe.mui --WMPMediaSharing.dll.mui --wmpnetwk.exe.mui --wmpnscfg.exe.mui --wmpnssci.dll.mui --wmpnssui.dll.mui --WMPSideShowGadget.exe.mui es-ES --mpvis.dll.mui --setup_wm.exe.mui --wmlaunch.exe.mui --WMPDMC.exe.mui --WMPDMCCore.dll.mui --wmplayer.exe.mui --WMPMediaSharing.dll.mui --wmpnetwk.exe.mui --wmpnscfg.exe.mui --wmpnssci.dll.mui --wmpnssui.dll.mui --WMPSideShowGadget.exe.mui Icons Media Renderer --avtransport.xml --connectionmanager_dmr.xml --DMR_120.jpg --DMR_120.png --DMR_48.jpg --DMR_48.png --RenderingControl.xml mpvis.DLL Network Sharing --ConnectionManager.xml --ContentDirectory.xml --MediaReceiverRegistrar.xml --wmpnss_bw120.jpg --wmpnss_bw120.png --wmpnss_bw32.bmp --wmpnss_bw32.jpg --wmpnss_bw48.bmp --wmpnss_bw48.jpg --wmpnss_bw48.png --wmpnss_color120.jpg --wmpnss_color120.png --wmpnss_color32.bmp --wmpnss_color32.jpg --wmpnss_color48.bmp --wmpnss_color48.jpg --wmpnss_color48.png setup_wm.exe Skins --Revert.wmz Visualizations wmlaunch.exe wmpconfig.exe WMPDMC.exe WMPDMCCore.dll wmpenc.exe wmplayer.exe WMPMediaSharing.dll wmpnetwk.exe wmpnscfg.exe wmpnssci.dll WMPNSSUI.dll wmprph.exe wmpshare.exe WMPSideShowGadget.exe zh-CN --mpvis.dll.mui --setup_wm.exe.mui --wmlaunch.exe.mui --WMPDMC.exe.mui --WMPDMCCore.dll.mui --wmplayer.exe.mui --WMPMediaSharing.dll.mui --wmpnetwk.exe.mui --wmpnscfg.exe.mui --wmpnssci.dll.mui --wmpnssui.dll.mui --WMPSideShowGadget.exe.mui zh-HK --wmpnetwk.exe.mui zh-TW --mpvis.dll.mui --setup_wm.exe.mui --wmlaunch.exe.mui --WMPDMC.exe.mui --WMPDMCCore.dll.mui --wmplayer.exe.mui --WMPMediaSharing.dll.mui --wmpnscfg.exe.mui --wmpnssci.dll.mui --wmpnssui.dll.mui --WMPSideShowGadget.exe.mui Press any key to continue . . .
|
 |
【只显示文件夹】 // ExploreFolder.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include <Windows.h>
#define echo(str) WriteConsole(hConsoleOutput, str, _tcslen(str), NULL, NULL) #define echo_t(str) echo(TEXT(str))
HANDLE hConsoleOutput;
BOOL explore(LPTSTR szFolder, UINT indent = 0) { TCHAR szFileName[MAX_PATH]; TCHAR szNextFolder[MAX_PATH]; _tcscpy_s(szFileName, szFolder); _tcscat_s(szFileName, TEXT("\\*"));
WIN32_FIND_DATA ffd; HANDLE hFindFile = FindFirstFile(szFileName, &ffd); if (hFindFile == INVALID_HANDLE_VALUE) return FALSE;
UINT i; do { if (ffd.cFileName[0] == '.') continue; if (!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) continue;
// 缩进 i = indent; while (i--) echo_t("--");
// 输出文件或文件夹的名称 echo(ffd.cFileName); echo_t("\r\n");
// 递归遍历子文件夹 _tcscpy_s(szNextFolder, szFolder); _tcscat_s(szNextFolder, TEXT("\\")); _tcscat_s(szNextFolder, ffd.cFileName); explore(szNextFolder, indent + 1); } while (FindNextFile(hFindFile, &ffd));
FindClose(hFindFile); return TRUE; }
int _tmain(int argc, _TCHAR* argv[]) { hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); explore(TEXT("C:\\inetpub")); return 0; } 【输出】 AdminScripts --0404 --0409 --0804 --0C0A custerr --en-US --es-ES --zh-CN --zh-TW ftproot history logs --FailedReqLogFiles --LogFiles ----W3SVC1 --wmsvc temp --appPools --ASP Compiled Templates --IIS Temporary Compressed Files wwwroot --aspnet_client ----system_web ------2_0_50727 ------4_0_30319 --aspx Press any key to continue . . .
|