diff --git a/base/applications/cmdutils/CMakeLists.txt b/base/applications/cmdutils/CMakeLists.txt index 2ca3a2b9004..20f8529aa78 100644 --- a/base/applications/cmdutils/CMakeLists.txt +++ b/base/applications/cmdutils/CMakeLists.txt @@ -1,4 +1,5 @@ add_subdirectory(at) +add_subdirectory(attrib) add_subdirectory(chcp) add_subdirectory(clip) add_subdirectory(comp) diff --git a/base/applications/cmdutils/attrib/CMakeLists.txt b/base/applications/cmdutils/attrib/CMakeLists.txt new file mode 100644 index 00000000000..a2b75f4ec5f --- /dev/null +++ b/base/applications/cmdutils/attrib/CMakeLists.txt @@ -0,0 +1,8 @@ + +include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils) + +add_executable(attrib attrib.c attrib.rc) +set_module_type(attrib win32cui UNICODE) +target_link_libraries(attrib conutils ${PSEH_LIB}) +add_importlibs(attrib user32 msvcrt kernel32) +add_cd_file(TARGET attrib DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/attrib/attrib.c b/base/applications/cmdutils/attrib/attrib.c new file mode 100644 index 00000000000..141ad497285 --- /dev/null +++ b/base/applications/cmdutils/attrib/attrib.c @@ -0,0 +1,392 @@ +/* + * ATTRIB.C - attrib internal command. + * + * + * History: + * + * 04-Dec-1998 Eric Kohl + * started + * + * 09-Dec-1998 Eric Kohl + * implementation works, except recursion ("attrib /s"). + * + * 05-Jan-1999 Eric Kohl + * major rewrite. + * fixed recursion ("attrib /s"). + * started directory support ("attrib /s /d"). + * updated help text. + * + * 14-Jan-1999 Eric Kohl + * Unicode ready! + * + * 19-Jan-1999 Eric Kohl + * Redirection ready! + * + * 21-Jan-1999 Eric Kohl + * Added check for invalid filenames. + * + * 23-Jan-1999 Eric Kohl + * Added handling of multiple filenames. + * + * 02-Apr-2005 (Magnus Olsen ) + * Remove all hardcoded strings in En.rc + */ + +#include +#include + +#include +#include +#include +#include + +#include + +#include "resource.h" + +CON_SCREEN StdOutScreen = INIT_CON_SCREEN(StdOut); + +static +VOID +ErrorMessage( + DWORD dwErrorCode, + LPWSTR szFormat, + ...) +{ + WCHAR szMsg[RC_STRING_MAX_SIZE]; + WCHAR szMessage[1024]; + LPWSTR szError; + va_list arg_ptr; + + if (dwErrorCode == ERROR_SUCCESS) + return; + + if (szFormat) + { + va_start(arg_ptr, szFormat); + vswprintf(szMessage, szFormat, arg_ptr); + va_end(arg_ptr); + } + + if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, + NULL, dwErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPWSTR)&szError, 0, NULL)) + { + ConPrintf(StdErr, L"%s %s\n", szError, szMessage); + if (szError) + LocalFree(szError); + return; + } + + /* 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); + else + ConPrintf(StdErr, L"%s\n", szMsg); +} + +static +INT +PrintAttribute( + LPWSTR pszPath, + LPWSTR pszFile, + BOOL bRecurse) +{ + WIN32_FIND_DATAW findData; + HANDLE hFind; + WCHAR szFullName[MAX_PATH]; + LPWSTR pszFileName; + + /* prepare full file name buffer */ + wcscpy(szFullName, pszPath); + pszFileName = szFullName + wcslen(szFullName); + + /* display all subdirectories */ + if (bRecurse) + { + /* 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; + + if (!wcscmp(findData.cFileName, L".") || + !wcscmp(findData.cFileName, L"..")) + continue; + + wcscpy(pszFileName, findData.cFileName); + wcscat(pszFileName, L"\\"); + PrintAttribute(szFullName, pszFile, bRecurse); + } + while(FindNextFileW(hFind, &findData)); + FindClose(hFind); + } + + /* append file name */ + wcscpy(pszFileName, pszFile); + + /* display current directory */ + 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); + + ConPrintf(StdOut, + L"%c %c%c%c %s\n", + (findData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) ? L'A' : L' ', + (findData.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM) ? L'S' : L' ', + (findData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) ? L'H' : L' ', + (findData.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? L'R' : L' ', + szFullName); + } + while(FindNextFileW(hFind, &findData)); + FindClose(hFind); + + return 0; +} + + +static +INT +ChangeAttribute( + LPWSTR pszPath, + LPWSTR pszFile, + DWORD dwMask, + DWORD dwAttrib, + BOOL bRecurse, + BOOL bDirectories) +{ + WIN32_FIND_DATAW findData; + HANDLE hFind; + DWORD dwAttribute; + WCHAR szFullName[MAX_PATH]; + LPWSTR pszFileName; + + /* prepare full file name buffer */ + wcscpy(szFullName, pszPath); + pszFileName = szFullName + wcslen(szFullName); + + /* change all subdirectories */ + if (bRecurse) + { + /* append file name */ + wcscpy(pszFileName, L"*.*"); + + hFind = FindFirstFileW(szFullName, &findData); + if (hFind == INVALID_HANDLE_VALUE) + { + ErrorMessage(GetLastError(), pszFile); + return 1; + } + + do + { + if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + { + if (!wcscmp(findData.cFileName, L".") || + !wcscmp(findData.cFileName, L"..")) + continue; + + wcscpy(pszFileName, findData.cFileName); + wcscat(pszFileName, L"\\"); + + ChangeAttribute(szFullName, pszFile, dwMask, + dwAttrib, bRecurse, bDirectories); + } + } + 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); + + if (dwAttribute != 0xFFFFFFFF) + { + dwAttribute = (dwAttribute & ~dwMask) | dwAttrib; + SetFileAttributes(szFullName, dwAttribute); + } + } + while (FindNextFileW(hFind, &findData)); + FindClose(hFind); + + return 0; +} + + +int wmain(int argc, WCHAR *argv[]) +{ + INT i; + WCHAR szPath[MAX_PATH]; + WCHAR szFileName [MAX_PATH]; + BOOL bRecurse = FALSE; + BOOL bDirectories = FALSE; + DWORD dwAttrib = 0; + DWORD dwMask = 0; + + /* Initialize the Console Standard Streams */ + ConInitStdStreams(); + + /* Print help */ + if (argc > 1 && wcscmp(argv[1], L"/?") == 0) + { + ConResPuts(StdOut, STRING_ATTRIB_HELP); + return 0; + } + + /* check for options */ + for (i = 1; i < argc; i++) + { + if (wcsicmp(argv[i], L"/s") == 0) + bRecurse = TRUE; + else if (wcsicmp(argv[i], L"/d") == 0) + bDirectories = TRUE; + } + + /* create attributes and mask */ + for (i = 1; i < argc; i++) + { + if (*argv[i] == L'+') + { + if (wcslen(argv[i]) != 2) + { + ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + return -1; + } + + switch (towupper(argv[i][1])) + { + case L'A': + dwMask |= FILE_ATTRIBUTE_ARCHIVE; + dwAttrib |= FILE_ATTRIBUTE_ARCHIVE; + break; + + case L'H': + dwMask |= FILE_ATTRIBUTE_HIDDEN; + dwAttrib |= FILE_ATTRIBUTE_HIDDEN; + break; + + case L'R': + dwMask |= FILE_ATTRIBUTE_READONLY; + dwAttrib |= FILE_ATTRIBUTE_READONLY; + break; + + case L'S': + dwMask |= FILE_ATTRIBUTE_SYSTEM; + dwAttrib |= FILE_ATTRIBUTE_SYSTEM; + break; + + default: + ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + return -1; + } + } + else if (*argv[i] == L'-') + { + if (wcslen(argv[i]) != 2) + { + ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + return -1; + } + + switch (towupper(argv[i][1])) + { + case L'A': + dwMask |= FILE_ATTRIBUTE_ARCHIVE; + dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE; + break; + + case L'H': + dwMask |= FILE_ATTRIBUTE_HIDDEN; + dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN; + break; + + case L'R': + dwMask |= FILE_ATTRIBUTE_READONLY; + dwAttrib &= ~FILE_ATTRIBUTE_READONLY; + break; + + case L'S': + dwMask |= FILE_ATTRIBUTE_SYSTEM; + dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM; + break; + + default: + ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); + return -1; + } + } + } + + if (argc == 1) + { + DWORD len; + + len = GetCurrentDirectory(MAX_PATH, szPath); + if (szPath[len-1] != L'\\') + { + szPath[len] = L'\\'; + szPath[len + 1] = UNICODE_NULL; + } + wcscpy(szFileName, L"*.*"); + PrintAttribute(szPath, szFileName, bRecurse); + return 0; + } + + /* get full file name */ + for (i = 1; i < argc; i++) + { + if ((*argv[i] != L'+') && (*argv[i] != L'-') && (*argv[i] != L'/')) + { + LPWSTR p; + + GetFullPathName(argv[i], MAX_PATH, szPath, NULL); + p = wcsrchr(szPath, L'\\') + 1; + wcscpy(szFileName, p); + *p = L'\0'; + + if (dwMask == 0) + PrintAttribute(szPath, szFileName, bRecurse); + else + ChangeAttribute(szPath, szFileName, dwMask, + dwAttrib, bRecurse, bDirectories); + } + } + + return 0; +} diff --git a/base/applications/cmdutils/attrib/attrib.rc b/base/applications/cmdutils/attrib/attrib.rc new file mode 100644 index 00000000000..a199d758c18 --- /dev/null +++ b/base/applications/cmdutils/attrib/attrib.rc @@ -0,0 +1,77 @@ +#include + +#include "resource.h" + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Attribute Command" +#define REACTOS_STR_INTERNAL_NAME "attrib" +#define REACTOS_STR_ORIGINAL_FILENAME "attrib.exe" +#include + +/* UTF-8 */ +#pragma code_page(65001) + +#ifdef LANGUAGE_CS_CZ + #include "lang/cs-CZ.rc" +#endif +#ifdef LANGUAGE_DE_DE + #include "lang/de-DE.rc" +#endif +#ifdef LANGUAGE_EL_GR + #include "lang/el-GR.rc" +#endif +#ifdef LANGUAGE_EN_US + #include "lang/en-US.rc" +#endif +#ifdef LANGUAGE_ES_ES + #include "lang/es-ES.rc" +#endif +#ifdef LANGUAGE_FR_FR + #include "lang/fr-FR.rc" +#endif +#ifdef LANGUAGE_HU_HU + #include "lang/hu-HU.rc" +#endif +#ifdef LANGUAGE_ID_ID + #include "lang/id-ID.rc" +#endif +#ifdef LANGUAGE_IT_IT + #include "lang/it-IT.rc" +#endif +#ifdef LANGUAGE_NB_NO + #include "lang/no-NO.rc" +#endif +#ifdef LANGUAGE_JA_JP + #include "lang/ja-JP.rc" +#endif +#ifdef LANGUAGE_PL_PL + #include "lang/pl-PL.rc" +#endif +#ifdef LANGUAGE_RO_RO + #include "lang/ro-RO.rc" +#endif +#ifdef LANGUAGE_RU_RU + #include "lang/ru-RU.rc" +#endif +#ifdef LANGUAGE_SK_SK + #include "lang/sk-SK.rc" +#endif +#ifdef LANGUAGE_SV_SE + #include "lang/sv-SE.rc" +#endif +#ifdef LANGUAGE_SQ_AL + #include "lang/sq-AL.rc" +#endif +#ifdef LANGUAGE_TR_TR + #include "lang/tr-TR.rc" +#endif +#ifdef LANGUAGE_UK_UA + #include "lang/uk-UA.rc" +#endif +#ifdef LANGUAGE_ZH_CN + #include "lang/zh-CN.rc" +#endif +#ifdef LANGUAGE_ZH_TW + #include "lang/zh-TW.rc" +#endif diff --git a/base/applications/cmdutils/attrib/lang/cs-CZ.rc b/base/applications/cmdutils/attrib/lang/cs-CZ.rc new file mode 100644 index 00000000000..d67fffd3dfb --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/cs-CZ.rc @@ -0,0 +1,25 @@ +/* FILE: base/shell/cmd/lang/cs-CZ.rc + * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) + * UPDATED: 2015-04-12 + */ + +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + 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\ + + Sets an attribute\n\ + - Clears an attribute\n\ + R Read-only file attribute\n\ + A Archive file attribute\n\ + S System file attribute\n\ + H Hidden file attribute\n\ + /S Processes matching files in the current directory\n\ + and all subdirectories\n\ + /D Processes directories as well\n\n\ +Type ATTRIB without a parameter to display the attributes of all files.\n" + STRING_CONSOLE_ERROR "Neznámá chyba: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Neplatný formát parametru - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/de-DE.rc b/base/applications/cmdutils/attrib/lang/de-DE.rc new file mode 100644 index 00000000000..44791186be6 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/de-DE.rc @@ -0,0 +1,22 @@ +/* German language file by Klemens Friedl 2005-06-03 */ + +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + 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\ + + Setzt ein Attribut\n\ + - Löscht ein Attribut\n\ + R Attribut für 'schreibgeschützte Datei'\n\ + A Attribut für 'zu archivierende Datei'\n\ + S Attribut für 'Systemdatei'\n\ + H Attribut für 'versteckte Datei'\n\ + /S Verarbeitet übereinstimmende Dateien im aktuellen Ordner\n\ + und in allen Unterordnern.\n\ + /D Verarbeitet auch die Ordner.\n\n\ +ATTRIB ohne Parameter zeigt die derzeit gesetzten Attribute aller Dateien an." + STRING_CONSOLE_ERROR "Unbekannter Fehler: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Ungültiges Parameterformat - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/el-GR.rc b/base/applications/cmdutils/attrib/lang/el-GR.rc new file mode 100644 index 00000000000..dcfc19fb746 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/el-GR.rc @@ -0,0 +1,25 @@ +/* + * Αρχική έκδοση - Ημιτελής. + * Ελληνική μετάφραση - Απόστολος Αλεξιάδης + */ + +LANGUAGE LANG_GREEK, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "Προβολή ή αλλαγή των χαρακτηριστικών των αρχείων.\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ + [/S [/D]]\n\n\ + + Ορισμός ενός χαρακτηριστικού.\n\ + - Απαλοιφή ενός χαρακτηριστικού.\n\ + R Χαρακτηριστικό αρχείου μόνο για ανάγνωση.\n\ + A Χαρακτηριστικό φύλαξης αρχείου.\n\ + S Χαρακτηριστικό αρχείου συστήματος.\n\ + H Χαρακτηριστικό κρυφού αρχείου.\n\ + /S Επεξεργασία των αρχείων που ταιριάζουν στον τρέχοντα κατάλογο\n\ + και σε όλους τους υποκαταλόγους.\n\ + /D Επεξεργασία καταλόγων επίσης.\n\n\ +Πληκτρολογήστε ATTRIB χωρίς παράμετρο, για να εμφανιστούν τα χαρακτηριστικά όλων των αρχείων.\n" + STRING_CONSOLE_ERROR "Άγνωστο σφάλμα: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Μη έγκυρο φορμά παραμέτρου - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/en-US.rc b/base/applications/cmdutils/attrib/lang/en-US.rc new file mode 100644 index 00000000000..692b04c013c --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/en-US.rc @@ -0,0 +1,20 @@ +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +STRINGTABLE +BEGIN + 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\ + + Sets an attribute\n\ + - Clears an attribute\n\ + R Read-only file attribute\n\ + A Archive file attribute\n\ + S System file attribute\n\ + H Hidden file attribute\n\ + /S Processes matching files in the current directory\n\ + and all subdirectories\n\ + /D Processes directories as well\n\n\ +Type ATTRIB without a parameter to display the attributes of all files.\n" + STRING_CONSOLE_ERROR "Unknown error: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Invalid parameter format - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/es-ES.rc b/base/applications/cmdutils/attrib/lang/es-ES.rc new file mode 100644 index 00000000000..8271d4784cb --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/es-ES.rc @@ -0,0 +1,22 @@ +/* Spanish translation by HUMA2000, Jose Pedro Fernández Pascual e Ismael Ferreras Morezuelas (Swyter) */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + 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\ + + Añade un atributo\n\ + - Borra un atributo\n\ + R Atributo de sólo lectura\n\ + A Atributo de archivo\n\ + S Atributo de archivo de sistema\n\ + H Atributo de archivo oculto\n\ + /S Procesa los archivos coincidentes en el directorio actual \n\ + y sus subdirectorios\n\ + /D Procesa también los directorios\n\n\ +Type ATTRIB without a parameter to display the attributes of all files.\n" + STRING_CONSOLE_ERROR "Error desconocido: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Formato de parámetro erróneo - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/fr-FR.rc b/base/applications/cmdutils/attrib/lang/fr-FR.rc new file mode 100644 index 00000000000..d330ba51f3b --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/fr-FR.rc @@ -0,0 +1,22 @@ +/* French translation by Sylvain Pétréolle, Pierre Schweitzer */ + +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + 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\ + + Positionne un attribut\n\ + - Enlève un attribut\n\ + R Fichier en lecture seule\n\ + A Fichier archive\n\ + S Fichier système\n\ + H Fichier caché\n\ + /S Traite les fichiers correspondants dans le répertoire courant\n\ + et tous les sous-répertoires\n\ + /D Traite également les répertoires\n\n\ +Taper ATTRIB sans paramètre pour afficher les attributs de tous les fichiers." + STRING_CONSOLE_ERROR "Erreur inconnue : %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Format de paramètre incorrect - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/hu-HU.rc b/base/applications/cmdutils/attrib/lang/hu-HU.rc new file mode 100644 index 00000000000..37d8d22ad96 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/hu-HU.rc @@ -0,0 +1,22 @@ +/* Hungarian translation by Robert Horvath (talley at cubeclub.hu) 2005 */ + +LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + 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\ + + bekapcsol egy attribútumot\n\ + - kikapcsol egy attribútumot\n\ + R Írásvédett állomány\n\ + A Archiválandó állomány\n\ + S Rendszer állomány\n\ + H Rejtett állomány\n\ + /S Minden állomány módosítása a mappában és minden\n\ + almappábanban\n\ + /D Mappákra is érvényesíti\n\n\ +Ha ATTRIB-ot paraméter nélkül írod be, megjeleníti a mappában található összes állományt és annak attribútumát.\n" + STRING_CONSOLE_ERROR "Ismeretlen hiba: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Érvénytelen paraméter megadás - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/id-ID.rc b/base/applications/cmdutils/attrib/lang/id-ID.rc new file mode 100644 index 00000000000..74ac009a952 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/id-ID.rc @@ -0,0 +1,22 @@ +/* Indonesian language file by Zaenal Mutaqin 2007-02-15 */ + +LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + 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\ + + Menyetel atribut\n\ + - Membersihkan atribut\n\ + R Atribut file Hanya-baca\n\ + A Atribut file Arsip\n\ + S Atribut file Sistem\n\ + H Atribut file Tersembunyi\n\ + /S Proses file yang sama dalam direktori dan semua subdirektori\n\ + saat ini\n\ + /D Proses direktori juga\n\n\ +Ketik ATTRIB tanpa parameter untuk menampilkan atribut dari semua file.\n" + STRING_CONSOLE_ERROR "Kesalahan tidak dikenal: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Format parameter tidak benar - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/it-IT.rc b/base/applications/cmdutils/attrib/lang/it-IT.rc new file mode 100644 index 00000000000..70d47fc74c4 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/it-IT.rc @@ -0,0 +1,20 @@ +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + 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\ + + Attiva un attributo\n\ + - Toglie un attributo\n\ + R Attributo di file di sola lettura\n\ + A Attributo di file di archivio\n\ + S Attributo di file di sistema\n\ + H Attributo di file nascosto\n\ + /S Tratta i file indicati nella cartella corrente e in\n\ + tutte le sottocartelle\n\ + /D Tratta anche le cartelle\n\n\ +Scrivi ATTRIB senza parametri per visualizzare gli attributi di tutti i file.\n" + STRING_CONSOLE_ERROR "Errore sconosciuto: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Formato dei parametri non valido - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/ja-JP.rc b/base/applications/cmdutils/attrib/lang/ja-JP.rc new file mode 100644 index 00000000000..79e2c7652fd --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/ja-JP.rc @@ -0,0 +1,20 @@ +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "ファイル属性を表示または変更します。\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [ファイル] ...\n\ + [/S [/D]]\n\n\ + + 属性を設定します。\n\ + - 属性を解除します。\n\ + R 読みとり専用属性。\n\ + A アーカイブ属性。\n\ + S システム ファイル属性。\n\ + H 隠しファイル属性。\n\ + /S 現在のフォルダとすべてのサブフォルダの一致するファイルを\n\ + 処理します。\n\ + /D フォルダも処理します。\n\n\ +パラメータを指定しないで ATTRIB と入力すると、すべてのファイルの属性を表示します。\n" + STRING_CONSOLE_ERROR "不明なエラー: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "無効なパラメータの書式です。 - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/no-NO.rc b/base/applications/cmdutils/attrib/lang/no-NO.rc new file mode 100644 index 00000000000..095e18be0b2 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/no-NO.rc @@ -0,0 +1,20 @@ +LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "Viser eller endrer filattributtene.\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\ + [/S [/D]]\n\n\ + + Setter et attributt\n\ + - Fjerner et attributt\n\ + R Attributt: Skrivebeskyttet.\n\ + A Attributt: Arkiver.\n\ + S Attributt: System.\n\ + H Attributt: Skjult.\n\ + /S Behandler tilsvarende filer i gjeldende mappe\n\ + og alle undermapper.\n\ + /D Bearbeider også mapper.\n\n\ +Skriv ATTRIB uten parametere for å vise attributtene til alle filer.\n" + STRING_CONSOLE_ERROR "Ukjent feil: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Ugyldig parameter format - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/pl-PL.rc b/base/applications/cmdutils/attrib/lang/pl-PL.rc new file mode 100644 index 00000000000..42543e60b3a --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/pl-PL.rc @@ -0,0 +1,29 @@ +/* + * Translated by Caemyr - Olaf Siejka (Jan, 2008) + * Updated by niski - Maciej Bialas (Mar, 2010) + * Use ReactOS forum PM or IRC to contact me + * http://www.reactos.org + * IRC: irc.freenode.net #reactos-pl; + * UTF-8 conversion by Caemyr (May, 2011) + */ + +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + 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\ + + Ustawia atrybut\n\ + - Czyści atrybut\n\ + R Atrybut pliku tylko do odczytu\n\ + A Atrybut pliku archiwalnego\n\ + S Atrybut pliku systemowego\n\ + H Atrybut pliku ukrytego\n\ + /S Przetwarza wszystkie, pasujące pliki w bieżącym katalogu\n\ + i we wszystkich podkatalogach\n\ + /D Przetwarza również katalogi\n\n\ +Wpisz ATTRIB bez żadnego parametru, by wyświetlić atrybuty wszystkich plików.\n" + STRING_CONSOLE_ERROR "Nieznany błąd: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Niewłaściwy format parametru - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/ro-RO.rc b/base/applications/cmdutils/attrib/lang/ro-RO.rc new file mode 100644 index 00000000000..73eed7eaf11 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/ro-RO.rc @@ -0,0 +1,22 @@ +/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + 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\ + + Consimte atributul\n\ + - Reprobă atributul\n\ + R Atributul fișierelor nemodificabile\n\ + A Atributul fișierelor arhivabile\n\ + S Atributul fișierelor de sistem\n\ + H Atributul fișierelor ascunse\n\ + /S Aplică și pentru fișierele din subdirectoare\n\ + /D Aplică și pentru directoare\n\n\ +Tastați ATTRIB fără argumente pentru afișarea atributelor pentru\n\ +toate fișierele.\n" + STRING_CONSOLE_ERROR "Eroare necunoscută: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Formatul argumentului este eronat - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/ru-RU.rc b/base/applications/cmdutils/attrib/lang/ru-RU.rc new file mode 100644 index 00000000000..8cea9affee4 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/ru-RU.rc @@ -0,0 +1,22 @@ +/* Russian translation by Andrey Korotaev (unC0Rr@inbox.ru) & Aleksey Bragin (aleksey@reactos.org) & Kudratov Olimjon (olim98@bk.ru)*/ + +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "Вывод и изменение атрибутов файлов.\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\ + [/S [/D]]\n\n\ + + Установка атрибута.\n\ + - Снятие атрибута.\n\ + R Атрибут ""Только чтение"".\n\ + A Атрибут ""Архивный"".\n\ + S Атрибут ""Системный"".\n\ + H Атрибут ""Скрытый"".\n\ + /S Обработка файлов с указанными именами в текущей папке\n\ + и во всех ее подпапках.\n\ + /D Обработка и файлов, и папок.\n\n\ +Команда ATTRIB без параметров выводит атрибуты всех файлов.\n" + STRING_CONSOLE_ERROR "Неизвестная ошибка: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Неверный формат параметра - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/sk-SK.rc b/base/applications/cmdutils/attrib/lang/sk-SK.rc new file mode 100644 index 00000000000..281a003325b --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/sk-SK.rc @@ -0,0 +1,26 @@ +/* Slovak translation for CMD + * TRANSLATOR: Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk) + * DATE OF TR: 21-03-2009 + * LastChange: 10-08-2010 + */ + +LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + 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\ + + Sets an attribute\n\ + - Clears an attribute\n\ + R Read-only file attribute\n\ + A Archive file attribute\n\ + S System file attribute\n\ + H Hidden file attribute\n\ + /S Processes matching files in the current directory\n\ + and all subdirectories\n\ + /D Processes directories as well\n\n\ +Type ATTRIB without a parameter to display the attributes of all files.\n" + STRING_CONSOLE_ERROR "Neznáma chyba: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Invalid parameter format - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/sq-AL.rc b/base/applications/cmdutils/attrib/lang/sq-AL.rc new file mode 100644 index 00000000000..ca39be06934 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/sq-AL.rc @@ -0,0 +1,24 @@ +/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com) + * DATE OF TR: 29-11-2013 +*/ + +LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + 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\ + + Vendos nje atribute\n\ + - Pastron një atribute\n\ + R Lexo-vetem atributet e dokumentave\n\ + A Atributet e dokumentave në arkiv\n\ + S Atributet e dokumentave të sistemit\n\ + H Atributet e dokumentave te fshehur\n\ + /S Procesi i përputhjes së dokumentave ne skedën aktuale\n\ + dhe të gjitha nënskedat\n\ + /D Proçeso skedat gjithashtu\n\n\ +Shkruaj ATTRIB pa një parameter për të shfaque atributet e të gjithë dokumentave.\n" + STRING_CONSOLE_ERROR "Error i paditur: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Parametrat e formatit invalid - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/sv-SE.rc b/base/applications/cmdutils/attrib/lang/sv-SE.rc new file mode 100644 index 00000000000..236baf7c6a2 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/sv-SE.rc @@ -0,0 +1,20 @@ +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "Visar eller ändrar filattributen.\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\ + [/S [/D]]\n\n\ + + Sätter ett attribut\n\ + - Rensar ett attribut\n\ + R Attribut: Skrivskyddad.\n\ + A Attribut: Arkiverad.\n\ + S Attribut: System.\n\ + H Attribut: Dold.\n\ + /S Behandlar matchande filer i den aktuella mappen\n\ + och alla undermappar.\n\ + /D Bearbetar även mappar.\n\n\ +Skriv ATTRIB utan parametrar för att visa attributten för alla filer.\n" + STRING_CONSOLE_ERROR "Okänt fel: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Ogiltigt parameterformat - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/tr-TR.rc b/base/applications/cmdutils/attrib/lang/tr-TR.rc new file mode 100644 index 00000000000..d96c764e2e6 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/tr-TR.rc @@ -0,0 +1,22 @@ +/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */ + +LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + 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\ + + Bir öz nitelik ayarlar\n\ + - Bir öz nitelik siler\n\ + R Yalnızca okunur kütük öz niteliği\n\ + A Belgelik kütük öz niteliği\n\ + S Dizge kütük öz niteliği\n\ + H Gizli kütük öz niteliği\n\ + /S Şimdiki dizindeki ve tüm alt dizinlerdeki kütükleri eşlemeyi yapar\n\ + /D Dizinleri de yap\n\n\ +Tüm kütüklerin öz niteliklerini görüntülemek için bir değişken olmadan ATTRIB\n\ +yazınız.\n" + STRING_CONSOLE_ERROR "Bilinmeyen yanlışlık: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Geçersiz değişken biçimi - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/uk-UA.rc b/base/applications/cmdutils/attrib/lang/uk-UA.rc new file mode 100644 index 00000000000..6591e433459 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/uk-UA.rc @@ -0,0 +1,28 @@ +/* + * PROJECT: Command-line interface + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/shell/cmd/lang/uk-UA.rc + * PURPOSE: Ukraianian Language File for Command-line interface + * TRANSLATORS: Artem Reznikov, Igor Paliychuk + */ + +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "Відображення або зміна атрибутів файлу.\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\ + [/S [/D]]\n\n\ + + Встановлення атрибуту\n\ + - Зняття атрибуту\n\ + R Атрибут файлу ""Лише читання""\n\ + A Атрибут файлу ""Архiвний""\n\ + S Атрибут файлу ""Системний""\n\ + H Атрибут файлу ""Прихований""\n\ + /S Обробка файлiв зi вказаними iменами в поточнiй тецi\n\ + i у всіх її пiдтеках\n\ + /D Обробка також i тек\n\n\ +Введiть ATTRIB без параметра, щоб вивести атрибути всiх файлiв.\n" + STRING_CONSOLE_ERROR "Невiдома помилка: %d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "Невiрний формат параметра - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/zh-CN.rc b/base/applications/cmdutils/attrib/lang/zh-CN.rc new file mode 100644 index 00000000000..a4d10f23bff --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/zh-CN.rc @@ -0,0 +1,21 @@ +/* Simplified Chinese translation by Song Fuchang (0xfc) 2011 */ + +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "显示或更改文件属性。\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 文件 ...\n\ + [/S [/D]]\n\n\ + + 设置一个属性\n\ + - 清除一个属性\n\ + R 只读属性\n\ + A 归档属性\n\ + S 系统属性\n\ + H 隐藏属性\n\ + /S 处理当前目录和所有子目录下的所有匹配文件\n\ + /D 同时处理目录\n\n\ +执行不带参数的 ATTRIB 将会显示所有文件的属性。\n" + STRING_CONSOLE_ERROR "未知错误:%d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "无效的参数格式 - %s\n" +END diff --git a/base/applications/cmdutils/attrib/lang/zh-TW.rc b/base/applications/cmdutils/attrib/lang/zh-TW.rc new file mode 100644 index 00000000000..c1fb32005c0 --- /dev/null +++ b/base/applications/cmdutils/attrib/lang/zh-TW.rc @@ -0,0 +1,22 @@ +/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */ +/* Improved by Luo Yufan 2019 */ + +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL + +STRINGTABLE +BEGIN + STRING_ATTRIB_HELP "顯示或更改檔案屬性。\n\n\ +ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 檔案 ...\n\ + [/S [/D]]\n\n\ + + 設定一個屬性\n\ + - 清除一個屬性\n\ + R 只讀屬性\n\ + A 歸檔屬性\n\ + S 系統屬性\n\ + H 隱藏屬性\n\ + /S 處理當前目錄和所有子目錄下的所有匹配檔案\n\ + /D 同時處理目錄\n\n\ +執行不帶參數的 ATTRIB 將會顯示所有檔案的屬性。\n" + STRING_CONSOLE_ERROR "未知錯誤:%d\n" + STRING_ERROR_INVALID_PARAM_FORMAT "無效的參數格式 - %s\n" +END \ No newline at end of file diff --git a/base/applications/cmdutils/attrib/resource.h b/base/applications/cmdutils/attrib/resource.h new file mode 100644 index 00000000000..3b44432714c --- /dev/null +++ b/base/applications/cmdutils/attrib/resource.h @@ -0,0 +1,7 @@ +#pragma once + +#define RC_STRING_MAX_SIZE 3072 + +#define STRING_ERROR_INVALID_PARAM_FORMAT 107 +#define STRING_CONSOLE_ERROR 316 +#define STRING_ATTRIB_HELP 600 diff --git a/base/shell/cmd/CMakeLists.txt b/base/shell/cmd/CMakeLists.txt index 351a7e0c930..99fdd19742f 100644 --- a/base/shell/cmd/CMakeLists.txt +++ b/base/shell/cmd/CMakeLists.txt @@ -9,7 +9,6 @@ include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils) list(APPEND SOURCE alias.c assoc.c - attrib.c batch.c beep.c call.c diff --git a/base/shell/cmd/attrib.c b/base/shell/cmd/attrib.c deleted file mode 100644 index dfc0f1aff99..00000000000 --- a/base/shell/cmd/attrib.c +++ /dev/null @@ -1,344 +0,0 @@ -/* - * ATTRIB.C - attrib internal command. - * - * - * History: - * - * 04-Dec-1998 Eric Kohl - * started - * - * 09-Dec-1998 Eric Kohl - * implementation works, except recursion ("attrib /s"). - * - * 05-Jan-1999 Eric Kohl - * major rewrite. - * fixed recursion ("attrib /s"). - * started directory support ("attrib /s /d"). - * updated help text. - * - * 14-Jan-1999 Eric Kohl - * Unicode ready! - * - * 19-Jan-1999 Eric Kohl - * Redirection ready! - * - * 21-Jan-1999 Eric Kohl - * Added check for invalid filenames. - * - * 23-Jan-1999 Eric Kohl - * Added handling of multiple filenames. - * - * 02-Apr-2005 (Magnus Olsen ) - * Remove all hardcoded strings in En.rc - */ - -#include "precomp.h" - -#ifdef INCLUDE_CMD_ATTRIB - -static VOID -PrintAttribute (LPTSTR pszPath, LPTSTR pszFile, BOOL bRecurse) -{ - WIN32_FIND_DATA findData; - HANDLE hFind; - TCHAR szFullName[MAX_PATH]; - LPTSTR pszFileName; - - /* prepare full file name buffer */ - _tcscpy (szFullName, pszPath); - pszFileName = szFullName + _tcslen (szFullName); - - /* display all subdirectories */ - if (bRecurse) - { - /* append file name */ - _tcscpy (pszFileName, pszFile); - - hFind = FindFirstFile (szFullName, &findData); - if (hFind == INVALID_HANDLE_VALUE) - { - ErrorMessage (GetLastError (), pszFile); - return; - } - - do - { - if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) - continue; - - if (!_tcscmp (findData.cFileName, _T(".")) || - !_tcscmp (findData.cFileName, _T(".."))) - continue; - - _tcscpy (pszFileName, findData.cFileName); - _tcscat (pszFileName, _T("\\")); - PrintAttribute (szFullName, pszFile, bRecurse); - } - while (FindNextFile (hFind, &findData)); - FindClose (hFind); - } - - /* append file name */ - _tcscpy (pszFileName, pszFile); - - /* display current directory */ - hFind = FindFirstFile (szFullName, &findData); - if (hFind == INVALID_HANDLE_VALUE) - { - ErrorMessage (GetLastError (), pszFile); - return; - } - - do - { - if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - continue; - - _tcscpy (pszFileName, findData.cFileName); - - ConOutPrintf(_T("%c %c%c%c %s\n"), - (findData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) ? _T('A') : _T(' '), - (findData.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM) ? _T('S') : _T(' '), - (findData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) ? _T('H') : _T(' '), - (findData.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? _T('R') : _T(' '), - szFullName); - } - while (FindNextFile(hFind, &findData)); - FindClose(hFind); -} - - -static VOID -ChangeAttribute(LPTSTR pszPath, LPTSTR pszFile, DWORD dwMask, - DWORD dwAttrib, BOOL bRecurse, BOOL bDirectories) -{ - WIN32_FIND_DATA findData; - HANDLE hFind; - DWORD dwAttribute; - TCHAR szFullName[MAX_PATH]; - LPTSTR pszFileName; - - - /* prepare full file name buffer */ - _tcscpy (szFullName, pszPath); - pszFileName = szFullName + _tcslen (szFullName); - - /* change all subdirectories */ - if (bRecurse) - { - /* append file name */ - _tcscpy (pszFileName, _T("*.*")); - - hFind = FindFirstFile (szFullName, &findData); - if (hFind == INVALID_HANDLE_VALUE) - { - ErrorMessage (GetLastError (), pszFile); - nErrorLevel = 1; - return; - } - - do - { - if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - { - if (!_tcscmp (findData.cFileName, _T(".")) || - !_tcscmp (findData.cFileName, _T(".."))) - continue; - - _tcscpy (pszFileName, findData.cFileName); - _tcscat (pszFileName, _T("\\")); - - ChangeAttribute (szFullName, pszFile, dwMask, - dwAttrib, bRecurse, bDirectories); - } - } - while (FindNextFile (hFind, &findData)); - FindClose (hFind); - } - - /* append file name */ - _tcscpy (pszFileName, pszFile); - - hFind = FindFirstFile (szFullName, &findData); - if (hFind == INVALID_HANDLE_VALUE) - { - ErrorMessage (GetLastError (), pszFile); - nErrorLevel = 1; - return; - } - - do - { - if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - continue; - - _tcscpy (pszFileName, findData.cFileName); - - dwAttribute = GetFileAttributes (szFullName); - - if (dwAttribute != 0xFFFFFFFF) - { - dwAttribute = (dwAttribute & ~dwMask) | dwAttrib; - SetFileAttributes (szFullName, dwAttribute); - } - } - while (FindNextFile (hFind, &findData)); - FindClose (hFind); -} - - -INT CommandAttrib (LPTSTR param) -{ - LPTSTR *arg; - INT argc, i; - TCHAR szPath[MAX_PATH]; - TCHAR szFileName [MAX_PATH]; - BOOL bRecurse = FALSE; - BOOL bDirectories = FALSE; - DWORD dwAttrib = 0; - DWORD dwMask = 0; - - /* initialize strings */ - szPath[0] = _T('\0'); - szFileName[0] = _T('\0'); - - /* print help */ - if (!_tcsncmp (param, _T("/?"), 2)) - { - ConOutResPaging(TRUE,STRING_ATTRIB_HELP); - return 0; - } - - nErrorLevel = 0; - - /* build parameter array */ - arg = split (param, &argc, FALSE, FALSE); - - /* check for options */ - for (i = 0; i < argc; i++) - { - if (_tcsicmp (arg[i], _T("/s")) == 0) - bRecurse = TRUE; - else if (_tcsicmp (arg[i], _T("/d")) == 0) - bDirectories = TRUE; - } - - /* create attributes and mask */ - for (i = 0; i < argc; i++) - { - if (*arg[i] == _T('+')) - { - if (_tcslen (arg[i]) != 2) - { - error_invalid_parameter_format (arg[i]); - freep (arg); - return -1; - } - - switch ((TCHAR)_totupper (arg[i][1])) - { - case _T('A'): - dwMask |= FILE_ATTRIBUTE_ARCHIVE; - dwAttrib |= FILE_ATTRIBUTE_ARCHIVE; - break; - - case _T('H'): - dwMask |= FILE_ATTRIBUTE_HIDDEN; - dwAttrib |= FILE_ATTRIBUTE_HIDDEN; - break; - - case _T('R'): - dwMask |= FILE_ATTRIBUTE_READONLY; - dwAttrib |= FILE_ATTRIBUTE_READONLY; - break; - - case _T('S'): - dwMask |= FILE_ATTRIBUTE_SYSTEM; - dwAttrib |= FILE_ATTRIBUTE_SYSTEM; - break; - - default: - error_invalid_parameter_format (arg[i]); - freep (arg); - return -1; - } - } - else if (*arg[i] == _T('-')) - { - if (_tcslen (arg[i]) != 2) - { - error_invalid_parameter_format (arg[i]); - freep (arg); - return -1; - } - - switch ((TCHAR)_totupper (arg[i][1])) - { - case _T('A'): - dwMask |= FILE_ATTRIBUTE_ARCHIVE; - dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE; - break; - - case _T('H'): - dwMask |= FILE_ATTRIBUTE_HIDDEN; - dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN; - break; - - case _T('R'): - dwMask |= FILE_ATTRIBUTE_READONLY; - dwAttrib &= ~FILE_ATTRIBUTE_READONLY; - break; - - case _T('S'): - dwMask |= FILE_ATTRIBUTE_SYSTEM; - dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM; - break; - - default: - error_invalid_parameter_format (arg[i]); - freep (arg); - return -1; - } - } - } - - if (argc == 0) - { - DWORD len; - - len = GetCurrentDirectory (MAX_PATH, szPath); - if (szPath[len-1] != _T('\\')) - { - szPath[len] = _T('\\'); - szPath[len + 1] = 0; - } - _tcscpy (szFileName, _T("*.*")); - PrintAttribute (szPath, szFileName, bRecurse); - freep (arg); - return 0; - } - - /* get full file name */ - for (i = 0; i < argc; i++) - { - if ((*arg[i] != _T('+')) && (*arg[i] != _T('-')) && (*arg[i] != _T('/'))) - { - LPTSTR p; - GetFullPathName (arg[i], MAX_PATH, szPath, NULL); - p = _tcsrchr (szPath, _T('\\')) + 1; - _tcscpy (szFileName, p); - *p = _T('\0'); - - if (dwMask == 0) - PrintAttribute (szPath, szFileName, bRecurse); - else - ChangeAttribute (szPath, szFileName, dwMask, - dwAttrib, bRecurse, bDirectories); - } - } - - freep (arg); - return 0; -} - -#endif /* INCLUDE_CMD_ATTRIB */ diff --git a/base/shell/cmd/cmd.h b/base/shell/cmd/cmd.h index 69a769ee7c2..2ddafab6a4a 100644 --- a/base/shell/cmd/cmd.h +++ b/base/shell/cmd/cmd.h @@ -63,9 +63,6 @@ INT CommandAlias (LPTSTR); /* Prototypes for ASSOC.C */ INT CommandAssoc (LPTSTR); -/* Prototypes for ATTRIB.C */ -INT CommandAttrib (LPTSTR); - /* Prototypes for BEEP.C */ INT cmd_beep (LPTSTR); diff --git a/base/shell/cmd/cmdtable.c b/base/shell/cmd/cmdtable.c index 8221f06e32f..20d3f690bb0 100644 --- a/base/shell/cmd/cmdtable.c +++ b/base/shell/cmd/cmdtable.c @@ -42,10 +42,6 @@ COMMAND cmds[] = {_T("assoc"), 0, CommandAssoc}, #endif -#ifdef INCLUDE_CMD_ATTRIB - {_T("attrib"), 0, CommandAttrib}, -#endif - #ifdef INCLUDE_CMD_BEEP {_T("beep"), 0, cmd_beep}, #endif diff --git a/base/shell/cmd/config.h b/base/shell/cmd/config.h index bdeeaa0e04b..90f7b9cbb53 100644 --- a/base/shell/cmd/config.h +++ b/base/shell/cmd/config.h @@ -50,7 +50,6 @@ #define INCLUDE_CMD_ACTIVATE #endif #define INCLUDE_CMD_ASSOC -#define INCLUDE_CMD_ATTRIB #define INCLUDE_CMD_CHDIR #define INCLUDE_CMD_CHOICE #define INCLUDE_CMD_CLS diff --git a/base/shell/cmd/lang/cs-CZ.rc b/base/shell/cmd/lang/cs-CZ.rc index a4e8aaa2e6e..4910facf73c 100644 --- a/base/shell/cmd/lang/cs-CZ.rc +++ b/base/shell/cmd/lang/cs-CZ.rc @@ -14,19 +14,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Sets an attribute\n\ - - Clears an attribute\n\ - R Read-only file attribute\n\ - A Archive file attribute\n\ - S System file attribute\n\ - H Hidden file attribute\n\ - /S Processes matching files in the current directory\n\ - and all subdirectories\n\ - /D Processes directories as well\n\n\ -Type ATTRIB without a parameter to display the attributes of all files.\n" STRING_ALIAS_HELP "Sets, removes or shows aliases.\n\n\ ALIAS [alias=[command]]\n\n\ alias Name for an alias.\n\ diff --git a/base/shell/cmd/lang/de-DE.rc b/base/shell/cmd/lang/de-DE.rc index 52ff6829c7e..078cb1ba32b 100644 --- a/base/shell/cmd/lang/de-DE.rc +++ b/base/shell/cmd/lang/de-DE.rc @@ -11,19 +11,6 @@ assoc (Gibt alle Zuordnungen aus)\n\ assoc .erw (Gibt die spezifische Zuordnung aus)\n\ assoc .erw= (Löscht die spezifische Zuordnung)\n\ assoc .erw=Dateityp (Fügt neue Zuordnung hinzu)\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\ - + Setzt ein Attribut\n\ - - Löscht ein Attribut\n\ - R Attribut für 'schreibgeschützte Datei'\n\ - A Attribut für 'zu archivierende Datei'\n\ - S Attribut für 'Systemdatei'\n\ - H Attribut für 'versteckte Datei'\n\ - /S Verarbeitet übereinstimmende Dateien im aktuellen Ordner\n\ - und in allen Unterordnern.\n\ - /D Verarbeitet auch die Ordner.\n\n\ -ATTRIB ohne Parameter zeigt die derzeit gesetzten Attribute aller Dateien an." STRING_ALIAS_HELP "Setzt, löscht oder zeigt ein Alias.\n\n\ ALIAS [Alias=[Befehl]]\n\n\ Alias Name des Alias.\n\ diff --git a/base/shell/cmd/lang/el-GR.rc b/base/shell/cmd/lang/el-GR.rc index 92c45eac27c..fab27d826c3 100644 --- a/base/shell/cmd/lang/el-GR.rc +++ b/base/shell/cmd/lang/el-GR.rc @@ -14,19 +14,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\n" - STRING_ATTRIB_HELP "Προβολή ή αλλαγή των χαρακτηριστικών των αρχείων.\n\n\ -ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\ - [/S [/D]]\n\n\ - + Ορισμός ενός χαρακτηριστικού.\n\ - - Απαλοιφή ενός χαρακτηριστικού.\n\ - R Χαρακτηριστικό αρχείου μόνο για ανάγνωση.\n\ - A Χαρακτηριστικό φύλαξης αρχείου.\n\ - S Χαρακτηριστικό αρχείου συστήματος.\n\ - H Χαρακτηριστικό κρυφού αρχείου.\n\ - /S Επεξεργασία των αρχείων που ταιριάζουν στον τρέχοντα κατάλογο\n\ - και σε όλους τους υποκαταλόγους.\n\ - /D Επεξεργασία καταλόγων επίσης.\n\n\ -Πληκτρολογήστε ATTRIB χωρίς παράμετρο, για να εμφανιστούν τα χαρακτηριστικά όλων των αρχείων.\n" STRING_ALIAS_HELP "Θέτει,αφαιρεί ή εμφανίζει τα aliases.\n\n\ ALIAS [alias=[εντολή]]\n\n\ alias Όνομα για το alias.\n\ diff --git a/base/shell/cmd/lang/en-US.rc b/base/shell/cmd/lang/en-US.rc index 41f73af9a31..e0324bb8744 100644 --- a/base/shell/cmd/lang/en-US.rc +++ b/base/shell/cmd/lang/en-US.rc @@ -9,19 +9,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Sets an attribute\n\ - - Clears an attribute\n\ - R Read-only file attribute\n\ - A Archive file attribute\n\ - S System file attribute\n\ - H Hidden file attribute\n\ - /S Processes matching files in the current directory\n\ - and all subdirectories\n\ - /D Processes directories as well\n\n\ -Type ATTRIB without a parameter to display the attributes of all files.\n" STRING_ALIAS_HELP "Sets, removes or shows aliases.\n\n\ ALIAS [alias=[command]]\n\n\ alias Name for an alias.\n\ diff --git a/base/shell/cmd/lang/es-ES.rc b/base/shell/cmd/lang/es-ES.rc index d2767a4b254..2ca450e2436 100644 --- a/base/shell/cmd/lang/es-ES.rc +++ b/base/shell/cmd/lang/es-ES.rc @@ -11,19 +11,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Añade un atributo\n\ - - Borra un atributo\n\ - R Atributo de sólo lectura\n\ - A Atributo de archivo\n\ - S Atributo de archivo de sistema\n\ - H Atributo de archivo oculto\n\ - /S Procesa los archivos coincidentes en el directorio actual \n\ - y sus subdirectorios\n\ - /D Procesa también los directorios\n\n\ -Type ATTRIB without a parameter to display the attributes of all files.\n" STRING_ALIAS_HELP "Pone, borra o muestra los alias.\n\n\ ALIAS [alias=[command]]\n\n\ alias Nombre para un alias.\n\ diff --git a/base/shell/cmd/lang/fr-FR.rc b/base/shell/cmd/lang/fr-FR.rc index 84b0c5ba837..09799ca373d 100644 --- a/base/shell/cmd/lang/fr-FR.rc +++ b/base/shell/cmd/lang/fr-FR.rc @@ -11,19 +11,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Positionne un attribut\n\ - - Enlève un attribut\n\ - R Fichier en lecture seule\n\ - A Fichier archive\n\ - S Fichier système\n\ - H Fichier caché\n\ - /S Traite les fichiers correspondants dans le répertoire courant\n\ - et tous les sous-répertoires\n\ - /D Traite également les répertoires\n\n\ -Taper ATTRIB sans paramètre pour afficher les attributs de tous les fichiers." STRING_ALIAS_HELP "Positionne, enlève ou affiche les alias.\n\n\ ALIAS [alias=[commande]]\n\n\ alias Nom de l'alias.\n\ diff --git a/base/shell/cmd/lang/hu-HU.rc b/base/shell/cmd/lang/hu-HU.rc index 8b91ff129e7..b984b99262c 100644 --- a/base/shell/cmd/lang/hu-HU.rc +++ b/base/shell/cmd/lang/hu-HU.rc @@ -11,19 +11,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + bekapcsol egy attribútumot\n\ - - kikapcsol egy attribútumot\n\ - R Írásvédett állomány\n\ - A Archiválandó állomány\n\ - S Rendszer állomány\n\ - H Rejtett állomány\n\ - /S Minden állomány módosítása a mappában és minden\n\ - almappábanban\n\ - /D Mappákra is érvényesíti\n\n\ -Ha ATTRIB-ot paraméter nélkül írod be, megjeleníti a mappában található összes állományt és annak attribútumát.\n" STRING_ALIAS_HELP "Aliasok megjelenítése, hozzáadása és törlése\n\n\ ALIAS [alias=[parancs]]\n\n\ alias Alias neve.\n\ diff --git a/base/shell/cmd/lang/id-ID.rc b/base/shell/cmd/lang/id-ID.rc index 58cc0a98cea..ffb62a078bd 100644 --- a/base/shell/cmd/lang/id-ID.rc +++ b/base/shell/cmd/lang/id-ID.rc @@ -11,19 +11,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Menyetel atribut\n\ - - Membersihkan atribut\n\ - R Atribut file Hanya-baca\n\ - A Atribut file Arsip\n\ - S Atribut file Sistem\n\ - H Atribut file Tersembunyi\n\ - /S Proses file yang sama dalam direktori dan semua subdirektori\n\ - saat ini\n\ - /D Proses direktori juga\n\n\ -Ketik ATTRIB tanpa parameter untuk menampilkan atribut dari semua file.\n" STRING_ALIAS_HELP "Menyetel, menghapus atau menampilkan alias.\n\n\ ALIAS [alias=[command]]\n\n\ alias Nama untuk alias.\n\ diff --git a/base/shell/cmd/lang/it-IT.rc b/base/shell/cmd/lang/it-IT.rc index 3677926a691..16b8cb84b55 100644 --- a/base/shell/cmd/lang/it-IT.rc +++ b/base/shell/cmd/lang/it-IT.rc @@ -9,19 +9,6 @@ assoc (mostra tutte le associazioni)\n\ assoc .ext (mostra una specifica associazione)\n\ assoc .ext= (rimuove una specifica associazione)\n\ assoc .ext=FileType (aggiung una associazione)\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\ - + Attiva un attributo\n\ - - Toglie un attributo\n\ - R Attributo di file di sola lettura\n\ - A Attributo di file di archivio\n\ - S Attributo di file di sistema\n\ - H Attributo di file nascosto\n\ - /S Tratta i file indicati nella cartella corrente e in\n\ - tutte le sottocartelle\n\ - /D Tratta anche le cartelle\n\n\ -Scrivi ATTRIB senza parametri per visualizzare gli attributi di tutti i file.\n" STRING_ALIAS_HELP "Attiva, toglie o visualizza gli alias.\n\n\ ALIAS [alias=[comando]]\n\n\ alias Nome dell'alias.\n\ diff --git a/base/shell/cmd/lang/ja-JP.rc b/base/shell/cmd/lang/ja-JP.rc index 0064cccdb2a..16885267eab 100644 --- a/base/shell/cmd/lang/ja-JP.rc +++ b/base/shell/cmd/lang/ja-JP.rc @@ -9,19 +9,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\n" - STRING_ATTRIB_HELP "ファイル属性を表示または変更します。\n\n\ -ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [ファイル] ...\n\ - [/S [/D]]\n\n\ - + 属性を設定します。\n\ - - 属性を解除します。\n\ - R 読みとり専用属性。\n\ - A アーカイブ属性。\n\ - S システム ファイル属性。\n\ - H 隠しファイル属性。\n\ - /S 現在のフォルダとすべてのサブフォルダの一致するファイルを\n\ - 処理します。\n\ - /D フォルダも処理します。\n\n\ -パラメータを指定しないで ATTRIB と入力すると、すべてのファイルの属性を表示します。\n" STRING_ALIAS_HELP "エイリアスの設定や解除をしたり、エイリアスを表示したりします。\n\n\ ALIAS [エイリアス=[コマンド]]\n\n\ エイリアス エイリアスとしてつける名前。\n\ diff --git a/base/shell/cmd/lang/no-NO.rc b/base/shell/cmd/lang/no-NO.rc index 09d284a6bb9..2d8f2930113 100644 --- a/base/shell/cmd/lang/no-NO.rc +++ b/base/shell/cmd/lang/no-NO.rc @@ -9,19 +9,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Setter et attributt\n\ - - Fjerner et attributt\n\ - R Attributt: Skrivebeskyttet.\n\ - A Attributt: Arkiver.\n\ - S Attributt: System.\n\ - H Attributt: Skjult.\n\ - /S Behandler tilsvarende filer i gjeldende mappe\n\ - og alle undermapper.\n\ - /D Bearbeider også mapper.\n\n\ -Skriv ATTRIB uten parametere for å vise attributtene til alle filer.\n" STRING_ALIAS_HELP "Setter, fjerner eller viser alias.\n\n\ ALIAS [alias=[Kommando]]\n\n\ alias Navn for et alias.\n\ diff --git a/base/shell/cmd/lang/pl-PL.rc b/base/shell/cmd/lang/pl-PL.rc index e9f2d431d57..1e56fe86c69 100644 --- a/base/shell/cmd/lang/pl-PL.rc +++ b/base/shell/cmd/lang/pl-PL.rc @@ -18,19 +18,6 @@ assoc (wyświetla wszystkie skojarzenia)\n\ assoc .ext (wyświetla określone skojarzenie)\n\ assoc .ext= (usuwa określone skojarzenie)\n\ assoc .ext=typPliku (dodaje nowe skojarzenie)\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\ - + Ustawia atrybut\n\ - - Czyści atrybut\n\ - R Atrybut pliku tylko do odczytu\n\ - A Atrybut pliku archiwalnego\n\ - S Atrybut pliku systemowego\n\ - H Atrybut pliku ukrytego\n\ - /S Przetwarza wszystkie, pasujące pliki w bieżącym katalogu\n\ - i we wszystkich podkatalogach\n\ - /D Przetwarza również katalogi\n\n\ -Wpisz ATTRIB bez żadnego parametru, by wyświetlić atrybuty wszystkich plików.\n" STRING_ALIAS_HELP "Ustawia, usuwa, a także wyświetla aliasy.\n\n\ ALIAS [nazwa=[tekst]]\n\n\ nazwa Nazwa aliasu.\n\ diff --git a/base/shell/cmd/lang/ro-RO.rc b/base/shell/cmd/lang/ro-RO.rc index c6c94bd5b01..3c83bbc2a2d 100644 --- a/base/shell/cmd/lang/ro-RO.rc +++ b/base/shell/cmd/lang/ro-RO.rc @@ -11,19 +11,6 @@ assoc (afișează toate asocierile)\n\ assoc .ext (afișează o anumită asociere)\n\ assoc .ext= (elimină o anumită asociere)\n\ assoc .ext=tip_fișier (adaugă o nouă asociere)\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\ - + Consimte atributul\n\ - - Reprobă atributul\n\ - R Atributul fișierelor nemodificabile\n\ - A Atributul fișierelor arhivabile\n\ - S Atributul fișierelor de sistem\n\ - H Atributul fișierelor ascunse\n\ - /S Aplică și pentru fișierele din subdirectoare\n\ - /D Aplică și pentru directoare\n\n\ -Tastați ATTRIB fără argumente pentru afișarea atributelor pentru\n\ -toate fișierele.\n" STRING_ALIAS_HELP "Instituie, destituie sau afișează alias.\n\n\ ALIAS [alias=[comandă]]\n\n\ alias Numele pentru alias.\n\ diff --git a/base/shell/cmd/lang/ru-RU.rc b/base/shell/cmd/lang/ru-RU.rc index 00b83490228..bffa1f14800 100644 --- a/base/shell/cmd/lang/ru-RU.rc +++ b/base/shell/cmd/lang/ru-RU.rc @@ -11,19 +11,6 @@ assoc (вывести все ассоциации)\n\ assoc .ext (вывести выбранную ассоциацию)\n\ assoc .ext= (удалить ассоциацию)\n\ assoc .ext=FileType (добавить ассоциацию)\n" - STRING_ATTRIB_HELP "Вывод и изменение атрибутов файлов.\n\n\ -ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\ - [/S [/D]]\n\n\ - + Установка атрибута.\n\ - - Снятие атрибута.\n\ - R Атрибут ""Только чтение"".\n\ - A Атрибут ""Архивный"".\n\ - S Атрибут ""Системный"".\n\ - H Атрибут ""Скрытый"".\n\ - /S Обработка файлов с указанными именами в текущей папке\n\ - и во всех ее подпапках.\n\ - /D Обработка и файлов, и папок.\n\n\ -Команда ATTRIB без параметров выводит атрибуты всех файлов.\n" STRING_ALIAS_HELP "Вывод, установка или удаление псевдонимов.\n\n\ ALIAS [псевдоним=[команда]]\n\n\ псевдоним Наименование псевдонима.\n\ diff --git a/base/shell/cmd/lang/sk-SK.rc b/base/shell/cmd/lang/sk-SK.rc index affef298ced..641709f900d 100644 --- a/base/shell/cmd/lang/sk-SK.rc +++ b/base/shell/cmd/lang/sk-SK.rc @@ -15,19 +15,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Sets an attribute\n\ - - Clears an attribute\n\ - R Read-only file attribute\n\ - A Archive file attribute\n\ - S System file attribute\n\ - H Hidden file attribute\n\ - /S Processes matching files in the current directory\n\ - and all subdirectories\n\ - /D Processes directories as well\n\n\ -Type ATTRIB without a parameter to display the attributes of all files.\n" STRING_ALIAS_HELP "Sets, removes or shows aliases.\n\n\ ALIAS [alias=[command]]\n\n\ alias Name for an alias.\n\ diff --git a/base/shell/cmd/lang/sq-AL.rc b/base/shell/cmd/lang/sq-AL.rc index 9228fa8664b..38fc7c71173 100644 --- a/base/shell/cmd/lang/sq-AL.rc +++ b/base/shell/cmd/lang/sq-AL.rc @@ -13,19 +13,6 @@ assoc (shfaq të gjith asociacionet)\n\ assoc .ext (shfaq asociacionet specifike)\n\ assoc .ext= (hiq acosiacionet specifike)\n\ assoc .ext=FileType (shto asociacione te reja)\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\ - + Vendos nje atribute\n\ - - Pastron një atribute\n\ - R Lexo-vetem atributet e dokumentave\n\ - A Atributet e dokumentave në arkiv\n\ - S Atributet e dokumentave të sistemit\n\ - H Atributet e dokumentave te fshehur\n\ - /S Procesi i përputhjes së dokumentave ne skedën aktuale\n\ - dhe të gjitha nënskedat\n\ - /D Proçeso skedat gjithashtu\n\n\ -Shkruaj ATTRIB pa një parameter për të shfaque atributet e të gjithë dokumentave.\n" STRING_ALIAS_HELP "Vëndos, hew ose shfaq pseudonimin.\n\n\ ALIAS [alias=[Komande]]\n\n\ alias Emri i pseudonimit.\n\ diff --git a/base/shell/cmd/lang/sv-SE.rc b/base/shell/cmd/lang/sv-SE.rc index 3fde66adebb..ea59758eb0a 100644 --- a/base/shell/cmd/lang/sv-SE.rc +++ b/base/shell/cmd/lang/sv-SE.rc @@ -9,19 +9,6 @@ assoc (print all associations)\n\ assoc .ext (print specific association)\n\ assoc .ext= (remove specific association)\n\ assoc .ext=FileType (add new association)\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\ - + Sätter ett attribut\n\ - - Rensar ett attribut\n\ - R Attribut: Skrivskyddad.\n\ - A Attribut: Arkiverad.\n\ - S Attribut: System.\n\ - H Attribut: Dold.\n\ - /S Behandlar matchande filer i den aktuella mappen\n\ - och alla undermappar.\n\ - /D Bearbetar även mappar.\n\n\ -Skriv ATTRIB utan parametrar för att visa attributten för alla filer.\n" STRING_ALIAS_HELP "Sätter, tar bort eller visar alias.\n\n\ ALIAS [alias=[Kommando]]\n\n\ alias Namn på ett alias.\n\ diff --git a/base/shell/cmd/lang/tr-TR.rc b/base/shell/cmd/lang/tr-TR.rc index aa37078bbaf..be6104a3e11 100644 --- a/base/shell/cmd/lang/tr-TR.rc +++ b/base/shell/cmd/lang/tr-TR.rc @@ -11,19 +11,6 @@ assoc (tüm ilişkilendirmeleri yazdır)\n\ assoc .uzn (belirtilen ilişkilendirmeyi yazdır)\n\ assoc .uzn= (belirtilen ilişkilendirmeyi sil)\n\ assoc .uzn=Kütük Türü (yeni ilişkilendirme ekle)\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\ - + Bir öz nitelik ayarlar\n\ - - Bir öz nitelik siler\n\ - R Yalnızca okunur kütük öz niteliği\n\ - A Belgelik kütük öz niteliği\n\ - S Dizge kütük öz niteliği\n\ - H Gizli kütük öz niteliği\n\ - /S Şimdiki dizindeki ve tüm alt dizinlerdeki kütükleri eşlemeyi yapar\n\ - /D Dizinleri de yap\n\n\ -Tüm kütüklerin öz niteliklerini görüntülemek için bir değişken olmadan ATTRIB\n\ -yazınız.\n" STRING_ALIAS_HELP "Başka adları ayarlar, siler ya da gösterir.\n\n\ ALIAS [başka ad=[komut]]\n\n\ başka ad Bir başka ad için ad.\n\ diff --git a/base/shell/cmd/lang/uk-UA.rc b/base/shell/cmd/lang/uk-UA.rc index db311b8633a..91054347780 100644 --- a/base/shell/cmd/lang/uk-UA.rc +++ b/base/shell/cmd/lang/uk-UA.rc @@ -17,19 +17,6 @@ assoc (друк всiх асоцiацiй)\n\ assoc .рош (друк вiдповiдної асоцiацiї)\n\ assoc .рош= (видалення вiдповiдної асоцiацiї)\n\ assoc .рош=ФайлТип (додати нову асоцiацiю)\n" - STRING_ATTRIB_HELP "Відображення або зміна атрибутів файлу.\n\n\ -ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\ - [/S [/D]]\n\n\ - + Встановлення атрибуту\n\ - - Зняття атрибуту\n\ - R Атрибут файлу ""Лише читання""\n\ - A Атрибут файлу ""Архiвний""\n\ - S Атрибут файлу ""Системний""\n\ - H Атрибут файлу ""Прихований""\n\ - /S Обробка файлiв зi вказаними iменами в поточнiй тецi\n\ - i у всіх її пiдтеках\n\ - /D Обробка також i тек\n\n\ -Введiть ATTRIB без параметра, щоб вивести атрибути всiх файлiв.\n" STRING_ALIAS_HELP "Встановлення, видалення або показ псевдонiмiв.\n\n\ ALIAS [псевдонiм=[команда]]\n\n\ псевдонiм Iм'я псевдонiма.\n\ diff --git a/base/shell/cmd/lang/zh-CN.rc b/base/shell/cmd/lang/zh-CN.rc index 3d2a62b254b..0ce1b121baa 100644 --- a/base/shell/cmd/lang/zh-CN.rc +++ b/base/shell/cmd/lang/zh-CN.rc @@ -11,18 +11,6 @@ assoc (输出所有文件关联)\n\ assoc .ext (输出指定的文件关联)\n\ assoc .ext= (删除指定的文件关联)\n\ assoc .ext=文件类型 (添加新的文件关联)\n" - STRING_ATTRIB_HELP "显示或更改文件属性。\n\n\ -ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 文件 ...\n\ - [/S [/D]]\n\n\ - + 设置一个属性\n\ - - 清除一个属性\n\ - R 只读属性\n\ - A 归档属性\n\ - S 系统属性\n\ - H 隐藏属性\n\ - /S 处理当前目录和所有子目录下的所有匹配文件\n\ - /D 同时处理目录\n\n\ -执行不带参数的 ATTRIB 将会显示所有文件的属性。\n" STRING_ALIAS_HELP "设置、删除或显示别名。\n\n\ ALIAS [别名=[命令]]\n\n\ 别名 别名的名称。\n\ diff --git a/base/shell/cmd/lang/zh-TW.rc b/base/shell/cmd/lang/zh-TW.rc index 718affebf08..7a76081e272 100644 --- a/base/shell/cmd/lang/zh-TW.rc +++ b/base/shell/cmd/lang/zh-TW.rc @@ -12,18 +12,6 @@ assoc (輸出所有檔案關聯)\n\ assoc .ext (輸出指定的檔案關聯)\n\ assoc .ext= (刪除指定的檔案關聯)\n\ assoc .ext=檔案類型 (添加新的檔案關聯)\n" - STRING_ATTRIB_HELP "顯示或更改檔案屬性。\n\n\ -ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 檔案 ...\n\ - [/S [/D]]\n\n\ - + 設定一個屬性\n\ - - 清除一個屬性\n\ - R 只讀屬性\n\ - A 歸檔屬性\n\ - S 系統屬性\n\ - H 隱藏屬性\n\ - /S 處理當前目錄和所有子目錄下的所有匹配檔案\n\ - /D 同時處理目錄\n\n\ -執行不帶參數的 ATTRIB 將會顯示所有檔案的屬性。\n" STRING_ALIAS_HELP "設定、刪除或顯示別名。\n\n\ ALIAS [別名=[命令]]\n\n\ 別名 別名的名稱。\n\ diff --git a/base/shell/cmd/resource.h b/base/shell/cmd/resource.h index 839787712d2..ff914ba1ddc 100644 --- a/base/shell/cmd/resource.h +++ b/base/shell/cmd/resource.h @@ -66,7 +66,6 @@ #define STRING_REPLACE_ERROR7 357 #define STRING_ASSOC_ERROR 358 -#define STRING_ATTRIB_HELP 600 #define STRING_ALIAS_HELP 601 #define STRING_BEEP_HELP 602 #define STRING_CALL_HELP 603