https://git.reactos.org/?p=reactos.git;a=commitdiff;h=189f6485841eb6b600069a...
commit 189f6485841eb6b600069a7f938979cc44318743 Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Fri Nov 29 20:03:19 2019 +0900 Commit: GitHub noreply@github.com CommitDate: Fri Nov 29 20:03:19 2019 +0900
[CMDUTILS][ATTRIB] Support folder attributes (#2103)
CORE-16538 --- base/applications/cmdutils/attrib/attrib.c | 165 ++++++++++++++---------- base/applications/cmdutils/attrib/lang/cs-CZ.rc | 1 + base/applications/cmdutils/attrib/lang/de-DE.rc | 1 + base/applications/cmdutils/attrib/lang/el-GR.rc | 1 + base/applications/cmdutils/attrib/lang/en-US.rc | 1 + base/applications/cmdutils/attrib/lang/es-ES.rc | 1 + base/applications/cmdutils/attrib/lang/fr-FR.rc | 1 + base/applications/cmdutils/attrib/lang/hu-HU.rc | 1 + base/applications/cmdutils/attrib/lang/id-ID.rc | 1 + base/applications/cmdutils/attrib/lang/it-IT.rc | 1 + base/applications/cmdutils/attrib/lang/ja-JP.rc | 1 + base/applications/cmdutils/attrib/lang/no-NO.rc | 1 + base/applications/cmdutils/attrib/lang/pl-PL.rc | 1 + base/applications/cmdutils/attrib/lang/ro-RO.rc | 1 + base/applications/cmdutils/attrib/lang/ru-RU.rc | 1 + base/applications/cmdutils/attrib/lang/sk-SK.rc | 1 + base/applications/cmdutils/attrib/lang/sq-AL.rc | 1 + base/applications/cmdutils/attrib/lang/sv-SE.rc | 1 + base/applications/cmdutils/attrib/lang/tr-TR.rc | 1 + base/applications/cmdutils/attrib/lang/uk-UA.rc | 1 + base/applications/cmdutils/attrib/lang/zh-CN.rc | 1 + base/applications/cmdutils/attrib/lang/zh-TW.rc | 1 + base/applications/cmdutils/attrib/resource.h | 1 + 23 files changed, 118 insertions(+), 69 deletions(-)
diff --git a/base/applications/cmdutils/attrib/attrib.c b/base/applications/cmdutils/attrib/attrib.c index 141ad497285..3d35fa403c0 100644 --- a/base/applications/cmdutils/attrib/attrib.c +++ b/base/applications/cmdutils/attrib/attrib.c @@ -72,7 +72,7 @@ ErrorMessage( NULL, dwErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)&szError, 0, NULL)) { - ConPrintf(StdErr, L"%s %s\n", szError, szMessage); + ConPrintf(StdOut, L"%s %s\n", szError, szMessage); if (szError) LocalFree(szError); return; @@ -81,9 +81,9 @@ ErrorMessage( /* Fall back just in case the error is not defined */ LoadStringW(GetModuleHandle(NULL), STRING_CONSOLE_ERROR, szMsg, ARRAYSIZE(szMsg)); if (szFormat) - ConPrintf(StdErr, L"%s -- %s\n", szMsg, szMessage); + ConPrintf(StdOut, L"%s -- %s\n", szMsg, szMessage); else - ConPrintf(StdErr, L"%s\n", szMsg); + ConPrintf(StdOut, L"%s\n", szMsg); }
static @@ -145,9 +145,6 @@ PrintAttribute(
do { - if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - continue; - wcscpy(pszFileName, findData.cFileName);
ConPrintf(StdOut, @@ -166,7 +163,7 @@ PrintAttribute(
static -INT +BOOL ChangeAttribute( LPWSTR pszPath, LPWSTR pszFile, @@ -180,75 +177,102 @@ ChangeAttribute( DWORD dwAttribute; WCHAR szFullName[MAX_PATH]; LPWSTR pszFileName; + BOOL bWildcard = (wcschr(pszFile, L'*') || wcschr(pszFile, L'?'));
/* prepare full file name buffer */ wcscpy(szFullName, pszPath); pszFileName = szFullName + wcslen(szFullName);
- /* change all subdirectories */ - if (bRecurse) - { - /* append file name */ - wcscpy(pszFileName, L"*.*"); + /* append file name */ + wcscpy(pszFileName, pszFile);
- hFind = FindFirstFileW(szFullName, &findData); - if (hFind == INVALID_HANDLE_VALUE) + hFind = FindFirstFileW(szFullName, &findData); + if (hFind == INVALID_HANDLE_VALUE) + return FALSE; + + dwAttribute = findData.dwFileAttributes; + + if (!bWildcard) + { + FindClose(hFind); + if (dwAttribute & FILE_ATTRIBUTE_DIRECTORY) { - ErrorMessage(GetLastError(), pszFile); - return 1; + dwAttribute = (dwAttribute & ~dwMask) | dwAttrib; + SetFileAttributes(szFullName, dwAttribute); + if (bRecurse) + { + if (bDirectories) + { + ChangeAttribute(szFullName, L"*", dwMask, dwAttrib, + bRecurse, bDirectories); + } + else + { + if (!ChangeAttribute(szFullName, L"*", dwMask, dwAttrib, + bRecurse, FALSE)) + { + return FALSE; + } + } + } + else + { + if (!bDirectories) + { + ChangeAttribute(szFullName, L"*", dwMask, dwAttrib, + bRecurse, FALSE); + } + } + return TRUE; + } + else + { + dwAttribute = (dwAttribute & ~dwMask) | dwAttrib; + SetFileAttributes(szFullName, dwAttribute); + return TRUE; } + } + else + { + if ((dwAttribute & FILE_ATTRIBUTE_DIRECTORY) && (!bRecurse || !bDirectories)) + return FALSE;
do { - if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + dwAttribute = findData.dwFileAttributes; + if (dwAttribute & FILE_ATTRIBUTE_DIRECTORY) { + if (!bDirectories) + continue; + if (!wcscmp(findData.cFileName, L".") || !wcscmp(findData.cFileName, L"..")) continue;
wcscpy(pszFileName, findData.cFileName); - wcscat(pszFileName, L"\"); - - ChangeAttribute(szFullName, pszFile, dwMask, - dwAttrib, bRecurse, bDirectories); + dwAttribute = (dwAttribute & ~dwMask) | dwAttrib; + SetFileAttributes(szFullName, dwAttribute); + + if (bRecurse) + { + ChangeAttribute(szFullName, findData.cFileName, dwMask, + dwAttrib, bRecurse, FALSE); + } } - } - while (FindNextFileW(hFind, &findData)); - FindClose(hFind); - } - - /* append file name */ - wcscpy(pszFileName, pszFile); - - hFind = FindFirstFileW(szFullName, &findData); - if (hFind == INVALID_HANDLE_VALUE) - { - ErrorMessage(GetLastError(), pszFile); - return 1; - } - - do - { - if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - continue; - - wcscpy(pszFileName, findData.cFileName); - - dwAttribute = GetFileAttributes (szFullName); + else + { + wcscpy(pszFileName, findData.cFileName); + dwAttribute = (dwAttribute & ~dwMask) | dwAttrib; + SetFileAttributes(szFullName, dwAttribute); + } + } while (FindNextFileW(hFind, &findData));
- if (dwAttribute != 0xFFFFFFFF) - { - dwAttribute = (dwAttribute & ~dwMask) | dwAttrib; - SetFileAttributes(szFullName, dwAttribute); - } + FindClose(hFind); } - while (FindNextFileW(hFind, &findData)); - FindClose(hFind);
- return 0; + return TRUE; }
- int wmain(int argc, WCHAR *argv[]) { INT i; @@ -258,6 +282,8 @@ int wmain(int argc, WCHAR *argv[]) BOOL bDirectories = FALSE; DWORD dwAttrib = 0; DWORD dwMask = 0; + LPWSTR p; + WCHAR szText[MAX_PATH];
/* Initialize the Console Standard Streams */ ConInitStdStreams(); @@ -285,7 +311,7 @@ int wmain(int argc, WCHAR *argv[]) { if (wcslen(argv[i]) != 2) { - ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); return -1; }
@@ -312,7 +338,7 @@ int wmain(int argc, WCHAR *argv[]) break;
default: - ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); return -1; } } @@ -320,7 +346,7 @@ int wmain(int argc, WCHAR *argv[]) { if (wcslen(argv[i]) != 2) { - ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); return -1; }
@@ -347,7 +373,7 @@ int wmain(int argc, WCHAR *argv[]) break;
default: - ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); return -1; } } @@ -371,20 +397,21 @@ int wmain(int argc, WCHAR *argv[]) /* get full file name */ for (i = 1; i < argc; i++) { - if ((*argv[i] != L'+') && (*argv[i] != L'-') && (*argv[i] != L'/')) - { - LPWSTR p; + if (*argv[i] == L'+' || *argv[i] == L'-' || *argv[i] == L'/') + continue;
- GetFullPathName(argv[i], MAX_PATH, szPath, NULL); - p = wcsrchr(szPath, L'\') + 1; - wcscpy(szFileName, p); - *p = L'\0'; + GetFullPathNameW(argv[i], MAX_PATH, szPath, &p); + wcscpy(szFileName, p); + *p = 0;
- if (dwMask == 0) - PrintAttribute(szPath, szFileName, bRecurse); - else - ChangeAttribute(szPath, szFileName, dwMask, - dwAttrib, bRecurse, bDirectories); + if (dwMask == 0) + { + PrintAttribute(szPath, szFileName, bRecurse); + } + else if (!ChangeAttribute(szPath, szFileName, dwMask, + dwAttrib, bRecurse, bDirectories)) + { + ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]); } }
diff --git a/base/applications/cmdutils/attrib/lang/cs-CZ.rc b/base/applications/cmdutils/attrib/lang/cs-CZ.rc index d67fffd3dfb..5798313832c 100644 --- a/base/applications/cmdutils/attrib/lang/cs-CZ.rc +++ b/base/applications/cmdutils/attrib/lang/cs-CZ.rc @@ -7,6 +7,7 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Displays or changes file attributes.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/de-DE.rc b/base/applications/cmdutils/attrib/lang/de-DE.rc index 44791186be6..934496e3b75 100644 --- a/base/applications/cmdutils/attrib/lang/de-DE.rc +++ b/base/applications/cmdutils/attrib/lang/de-DE.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Zeigt Dateiattribute an oder ändert sie.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] Dateiname ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/el-GR.rc b/base/applications/cmdutils/attrib/lang/el-GR.rc index dcfc19fb746..61b9646ccf8 100644 --- a/base/applications/cmdutils/attrib/lang/el-GR.rc +++ b/base/applications/cmdutils/attrib/lang/el-GR.rc @@ -7,6 +7,7 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Προβολή ή αλλαγή των χαρακτηριστικών των αρχείων.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/en-US.rc b/base/applications/cmdutils/attrib/lang/en-US.rc index 692b04c013c..340a3db2b19 100644 --- a/base/applications/cmdutils/attrib/lang/en-US.rc +++ b/base/applications/cmdutils/attrib/lang/en-US.rc @@ -2,6 +2,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Displays or changes file attributes.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/es-ES.rc b/base/applications/cmdutils/attrib/lang/es-ES.rc index 8271d4784cb..a84e1753e23 100644 --- a/base/applications/cmdutils/attrib/lang/es-ES.rc +++ b/base/applications/cmdutils/attrib/lang/es-ES.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Muestra o cambia los atributos de los archivos.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/fr-FR.rc b/base/applications/cmdutils/attrib/lang/fr-FR.rc index d330ba51f3b..99c22f35ae9 100644 --- a/base/applications/cmdutils/attrib/lang/fr-FR.rc +++ b/base/applications/cmdutils/attrib/lang/fr-FR.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Affiche ou change des attributs de fichiers.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/hu-HU.rc b/base/applications/cmdutils/attrib/lang/hu-HU.rc index 37d8d22ad96..8e5e3d0ff7b 100644 --- a/base/applications/cmdutils/attrib/lang/hu-HU.rc +++ b/base/applications/cmdutils/attrib/lang/hu-HU.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Állományok attribútumok megjelenítése vagy beállításai.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] állomány ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/id-ID.rc b/base/applications/cmdutils/attrib/lang/id-ID.rc index 74ac009a952..31ed914c8aa 100644 --- a/base/applications/cmdutils/attrib/lang/id-ID.rc +++ b/base/applications/cmdutils/attrib/lang/id-ID.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Menampilkan atau mengubah atribut file.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/it-IT.rc b/base/applications/cmdutils/attrib/lang/it-IT.rc index 70d47fc74c4..a4f6a2a1c21 100644 --- a/base/applications/cmdutils/attrib/lang/it-IT.rc +++ b/base/applications/cmdutils/attrib/lang/it-IT.rc @@ -2,6 +2,7 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Visualizza o modifica gli attributi dei file.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/ja-JP.rc b/base/applications/cmdutils/attrib/lang/ja-JP.rc index 79e2c7652fd..9125d067cb7 100644 --- a/base/applications/cmdutils/attrib/lang/ja-JP.rc +++ b/base/applications/cmdutils/attrib/lang/ja-JP.rc @@ -2,6 +2,7 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "ファイル属性を表示または変更します。\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [ファイル] ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/no-NO.rc b/base/applications/cmdutils/attrib/lang/no-NO.rc index 095e18be0b2..fdc13654108 100644 --- a/base/applications/cmdutils/attrib/lang/no-NO.rc +++ b/base/applications/cmdutils/attrib/lang/no-NO.rc @@ -2,6 +2,7 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Viser eller endrer filattributtene.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/pl-PL.rc b/base/applications/cmdutils/attrib/lang/pl-PL.rc index 42543e60b3a..3776b95160e 100644 --- a/base/applications/cmdutils/attrib/lang/pl-PL.rc +++ b/base/applications/cmdutils/attrib/lang/pl-PL.rc @@ -11,6 +11,7 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Wyświetla lub zmienia atrybuty plików.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] nazwa_pliku ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/ro-RO.rc b/base/applications/cmdutils/attrib/lang/ro-RO.rc index 73eed7eaf11..05f858aae75 100644 --- a/base/applications/cmdutils/attrib/lang/ro-RO.rc +++ b/base/applications/cmdutils/attrib/lang/ro-RO.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Afișează sau modifică atributele de fișiere.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fișier ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/ru-RU.rc b/base/applications/cmdutils/attrib/lang/ru-RU.rc index 8cea9affee4..c2390e95f35 100644 --- a/base/applications/cmdutils/attrib/lang/ru-RU.rc +++ b/base/applications/cmdutils/attrib/lang/ru-RU.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Вывод и изменение атрибутов файлов.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/sk-SK.rc b/base/applications/cmdutils/attrib/lang/sk-SK.rc index 281a003325b..e883b13c2e3 100644 --- a/base/applications/cmdutils/attrib/lang/sk-SK.rc +++ b/base/applications/cmdutils/attrib/lang/sk-SK.rc @@ -8,6 +8,7 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Displays or changes file attributes.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/sq-AL.rc b/base/applications/cmdutils/attrib/lang/sq-AL.rc index ca39be06934..cddde01e7c5 100644 --- a/base/applications/cmdutils/attrib/lang/sq-AL.rc +++ b/base/applications/cmdutils/attrib/lang/sq-AL.rc @@ -6,6 +6,7 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Shfaq ose ndryshu atributet e dokumentave.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/sv-SE.rc b/base/applications/cmdutils/attrib/lang/sv-SE.rc index 236baf7c6a2..2406f5316b1 100644 --- a/base/applications/cmdutils/attrib/lang/sv-SE.rc +++ b/base/applications/cmdutils/attrib/lang/sv-SE.rc @@ -2,6 +2,7 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Visar eller ändrar filattributen.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/tr-TR.rc b/base/applications/cmdutils/attrib/lang/tr-TR.rc index d96c764e2e6..7bfd8c3e1ae 100644 --- a/base/applications/cmdutils/attrib/lang/tr-TR.rc +++ b/base/applications/cmdutils/attrib/lang/tr-TR.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Kütük öz niteliklerini görüntüler ya da değiştirir.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] kütük ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/uk-UA.rc b/base/applications/cmdutils/attrib/lang/uk-UA.rc index 6591e433459..957e589f2d1 100644 --- a/base/applications/cmdutils/attrib/lang/uk-UA.rc +++ b/base/applications/cmdutils/attrib/lang/uk-UA.rc @@ -10,6 +10,7 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "Відображення або зміна атрибутів файлу.\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/zh-CN.rc b/base/applications/cmdutils/attrib/lang/zh-CN.rc index a4d10f23bff..c3184d47eb8 100644 --- a/base/applications/cmdutils/attrib/lang/zh-CN.rc +++ b/base/applications/cmdutils/attrib/lang/zh-CN.rc @@ -4,6 +4,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "显示或更改文件属性。\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 文件 ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/lang/zh-TW.rc b/base/applications/cmdutils/attrib/lang/zh-TW.rc index c1fb32005c0..8b61dd6c714 100644 --- a/base/applications/cmdutils/attrib/lang/zh-TW.rc +++ b/base/applications/cmdutils/attrib/lang/zh-TW.rc @@ -5,6 +5,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE BEGIN + STRING_FILE_NOT_FOUND "File not found - '%s'\n" STRING_ATTRIB_HELP "顯示或更改檔案屬性。\n\n\ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 檔案 ...\n\ [/S [/D]]\n\n\ diff --git a/base/applications/cmdutils/attrib/resource.h b/base/applications/cmdutils/attrib/resource.h index 3b44432714c..e55a2ed845a 100644 --- a/base/applications/cmdutils/attrib/resource.h +++ b/base/applications/cmdutils/attrib/resource.h @@ -5,3 +5,4 @@ #define STRING_ERROR_INVALID_PARAM_FORMAT 107 #define STRING_CONSOLE_ERROR 316 #define STRING_ATTRIB_HELP 600 +#define STRING_FILE_NOT_FOUND 100