{"id":23986,"date":"2017-02-03T23:15:25","date_gmt":"2017-02-03T14:15:25","guid":{"rendered":"http:\/\/kako.com\/blog\/?p=23986"},"modified":"2017-02-04T04:32:03","modified_gmt":"2017-02-03T19:32:03","slug":"windows%e3%81%a7unicode%e7%89%88%e3%81%aefindfirstfile%e3%81%aeapi%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab%e3%82%b3%e3%83%bc%e3%83%89","status":"publish","type":"post","link":"http:\/\/kako.com\/blog\/?p=23986","title":{"rendered":"Windows\u3067Unicode\u7248\u306eFindFirstFile\u306eAPI\u3092\u4f7f\u3063\u3066\u307f\u305f\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9"},"content":{"rendered":"<p>\u6628\u65e5\u306e<a href=\"http:\/\/kako.com\/blog\/?p=23983\">Windows\u3067\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5909\u66f4\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092ANSI\u7248API\u304b\u3089Unicode\u7248API\u306b\u66f8\u304d\u63db\u3048\u305f\u8a71<\/a>\u3067\u3001<br \/>\n\u3068\u308a\u3042\u3048\u305a\u30ea\u30cd\u30fc\u30e0\u51e6\u7406\u4ee5\u5916\u306eFindFirstFile\u3068\u3044\u3046API\u306eUnicode\u7248FindFirstFileW\u3092\u4f7f\u3063\u305f\u30d5\u30a9\u30eb\u30c0\u3068\u30d5\u30a1\u30a4\u30eb\u3092\u30b9\u30ad\u30e3\u30f3\u3059\u308b\u4f7f\u3044\u65b9\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3063\u307d\u3044\u306e\u3092\u6652\u3057\u3066\u307f\u308b\u3002<\/p>\n<p>cmd.exe\u3067\u52d5\u304b\u3059\u3068\u6587\u5b57\u5316\u3051\u3059\u308b\u306e\u3067\u3001\u30b9\u30bf\u30fc\u30c8\u30e1\u30cb\u30e5\u30fc\u304b\u3089Powershell\u3092\u8d77\u52d5\u3057\u3066Powershell\u3067\u52d5\u304b\u305b\u3070\u6587\u5b57\u5316\u3051\u305b\u305a\u306bUnicode\u306e\u30d5\u30a9\u30eb\u30c0\u540d\u3084\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u6b63\u3057\u304f\u8868\u793a\u3055\u308c\u308b\u3002<br \/>\n<!--more--><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n#include &lt;windows.h&gt;\r\n#include &lt;stdio.h&gt;\r\n#include &lt;string.h&gt;\r\n#include &lt;locale.h&gt;\r\n\r\n#define FILENAME_LENGTH 4096\r\n\r\nint scan(wchar_t *folder);\r\n\r\nint main(void)\r\n{\r\n\twchar_t buf[FILENAME_LENGTH];\r\n\t_wsetlocale(LC_ALL, L&quot;&quot;);\r\n\twcscpy(buf , L&quot;\\\\\\\\?\\\\C:\\\\&quot;); \/\/ C:\\ or C:\\Users\\username\\Desktop\r\n\tscan(buf);\r\n\treturn 0;\r\n}\r\n\r\nint scan(wchar_t *folder)\r\n{\r\n\tHANDLE hFind;\r\n\tWIN32_FIND_DATAW win32fd;\r\n\twchar_t filename1[FILENAME_LENGTH];\r\n\twchar_t filename2[FILENAME_LENGTH];\r\n\twcscpy(filename1 , folder);\r\n\twcscat(filename1,L&quot;\\\\*.*&quot;);\r\n\thFind = FindFirstFileW((LPCWSTR)filename1, &amp;win32fd);\r\n\tif (hFind == INVALID_HANDLE_VALUE) {\r\n\t\twprintf(L&quot;Error: Folder not found. -&gt; %ls \\n&quot;,filename1); return 1;\r\n\t}\r\n\tdo {\r\n\t\tif (win32fd.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY) {\r\n\t\t\tif ( (wcscmp(win32fd.cFileName,L&quot;.&quot;)!=0)&amp;&amp;(wcscmp(win32fd.cFileName,L&quot;..&quot;)!=0) ) {\r\n\t\t\t\twcscpy(filename2 , folder);\r\n\t\t\t\twcscat(filename2 , L&quot;\\\\&quot;);\r\n\t\t\t\twcscat(filename2, win32fd.cFileName);\r\n\t\t\t\twprintf(L&quot;&gt;&gt;folder: %ls \\n&quot;, filename2);\r\n\t\t\t\tscan(filename2);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\twcscpy(filename2 , folder);\r\n\t\t\twcscat(filename2 , L&quot;\\\\&quot;);\r\n\t\t\twcscat(filename2, win32fd.cFileName);\r\n\t\t\twprintf(L&quot;&gt;&gt;file: %ls \\n&quot;, filename2);\r\n\t\t\t\/\/ Rename_check_and_exec(filename2);\r\n\t\t}\r\n\t} while (FindNextFileW(hFind, &amp;win32fd));\r\n\tFindClose(hFind);\r\n\treturn 0;\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6628\u65e5\u306eWindows\u3067\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5909\u66f4\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092ANSI\u7248API\u304b\u3089Unicode\u7248API\u306b\u66f8\u304d\u63db\u3048\u305f\u8a71\u3067\u3001 \u3068\u308a\u3042\u3048\u305a\u30ea\u30cd\u30fc\u30e0\u51e6\u7406\u4ee5\u5916\u306eFindFirstFile\u3068\u3044\u3046API\u306eUnicode\u7248FindFirstF [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[14],"tags":[],"_links":{"self":[{"href":"http:\/\/kako.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/23986"}],"collection":[{"href":"http:\/\/kako.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/kako.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/kako.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/kako.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=23986"}],"version-history":[{"count":7,"href":"http:\/\/kako.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/23986\/revisions"}],"predecessor-version":[{"id":23993,"href":"http:\/\/kako.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/23986\/revisions\/23993"}],"wp:attachment":[{"href":"http:\/\/kako.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=23986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/kako.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=23986"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/kako.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=23986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}