mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 19:41:45 +00:00
[DISKPART] Implement 'select disk system' and 'select disk next'
This commit is contained in:
parent
11d5cb8095
commit
1b5e679282
12 changed files with 89 additions and 27 deletions
|
@ -115,6 +115,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nThere is no disk currently selected.\nPlease select a disk and try again.\n\n"
|
||||
IDS_SELECT_DISK "\nDisk %lu is now the selected disk.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nInvalid disk.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nThere is no partition currently selected.\nPlease select a disk and try again.\n\n"
|
||||
IDS_SELECT_PARTITION "\nPartition %lu is now the selected partition.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nThere is no disk for selecting a partition.\nPlease select a disk and try again.\n\n"
|
||||
|
|
|
@ -115,6 +115,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nThere is no disk currently selected.\nPlease select a disk and try again.\n\n"
|
||||
IDS_SELECT_DISK "\nDisk %lu is now the selected disk.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nInvalid disk.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nThere is no partition currently selected.\nPlease select a disk and try again.\n\n"
|
||||
IDS_SELECT_PARTITION "\nPartition %lu is now the selected partition.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nThere is no disk for selecting a partition.\nPlease select a disk and try again.\n\n"
|
||||
|
|
|
@ -115,6 +115,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nNie wybrano dysku.\nWybierz dysk i spróbuj ponownie.\n\n"
|
||||
IDS_SELECT_DISK "\nObecnie wybranym dyskiem jest dysk %lu.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nNieprawidłowy dysk.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nNie wybrano partycji.\nWybierz partycję i spróbuj ponownie.\n\n"
|
||||
IDS_SELECT_PARTITION "\nObecnie wybraną partycją jest partycja %lu.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nNie wybrano dysku do ustawienia partycji\nWybierz dysk i spróbuj ponownie.\n\n"
|
||||
|
|
|
@ -117,6 +117,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nNenhum disco actualmente está seleccionado.\nPor favor seleccione um disco e tente novamente.\n\n"
|
||||
IDS_SELECT_DISK "\nDisco %lu é o disco que está actualmente seleccionado.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nDisco inválido.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nNenhuma partição seleccionada actualmente.\nPor favor seleccione um disco e tente novamente.\n\n"
|
||||
IDS_SELECT_PARTITION "\nPartição %lu é agora a partição seleccionada.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nNão há disco para selectionar partições.\nPor favor seleccione um disco e tente novamente.\n\n"
|
||||
|
|
|
@ -123,6 +123,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nMomentan nu există niciun disc selectat.\nSelectați un disc apoi reîncercați.\n\n"
|
||||
IDS_SELECT_DISK "\nDisul %lu este selectat acum.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nDisc nevalid.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nMomentan nu există nicio partiție selectată.\nSelectați un disc apoi reîncercați.\n\n"
|
||||
IDS_SELECT_PARTITION "\nPartiția %lu este selectată acum.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nNu există niciun disc pentru partiția selectată.\nSelectați un disc apoi reîncercați.\n\n"
|
||||
|
|
|
@ -117,6 +117,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nДиск для обработки не указан.\nВыберите диск и повторите.\n\n"
|
||||
IDS_SELECT_DISK "\nДиск %lu выбран текущим.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nОшибка диска.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nДиск с разметкой не выбран.\nВыберите диск и повторите.\n\n"
|
||||
IDS_SELECT_PARTITION "\nВыбрана разметка диска %lu текущей разметкой.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nДиск для установки разметки не указан.\nВыберите диск и повторите.\n\n"
|
||||
|
|
|
@ -119,6 +119,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nThere is no disk currently selected.\nPlease select a disk and try again.\n\n"
|
||||
IDS_SELECT_DISK "\nDisk %lu is now the selected disk.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nInvalid disk.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nThere is no partition currently selected.\nPlease select a disk and try again.\n\n"
|
||||
IDS_SELECT_PARTITION "\nPartition %lu is now the selected partition.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nThere is no disk for selecting a partition.\nPlease select a disk and try again.\n\n"
|
||||
|
|
|
@ -125,6 +125,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\nBir disk seçilmemiş.\nLütfen bir disk seçiniz ve yeniden deneyiniz.\n\n"
|
||||
IDS_SELECT_DISK "\nDisk %lu şimdi seçilen disktir.\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\nGeçersiz disk.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\nŞimdilik bir bölüm seçilmemiş.\nLütfen bir disk seçiniz ve yeniden deneyiniz.\n\n"
|
||||
IDS_SELECT_PARTITION "\nBölüm %lu şimdi seçilen bölümdür.\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\nBir bölüm seçmek için bir disk yok.\nLütfen bir disk seçiniz ve yeniden deneyiniz.\n\n"
|
||||
|
|
|
@ -124,6 +124,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\n没有当前选择的磁盘。\nP请选择一个磁盘,再试一次。\n\n"
|
||||
IDS_SELECT_DISK "\n磁盘 %lu 现在是所选的磁盘。\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\n无效的磁盘。\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\n有是没有当前选定的分区。\n请选择一个磁盘,再试一次。\n\n"
|
||||
IDS_SELECT_PARTITION "\n分区 %lu 现在是所选的分区。\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\n没有一个选择是有分区的磁盘。\n请选择一个磁盘,再试一次。\n\n"
|
||||
|
|
|
@ -124,6 +124,8 @@ BEGIN
|
|||
IDS_SELECT_NO_DISK "\n目前沒有選擇磁碟。\n請選擇一個磁碟,然後再試一次。\n\n"
|
||||
IDS_SELECT_DISK "\n磁碟 %lu 現在是所選擇的磁碟。\n\n"
|
||||
IDS_SELECT_DISK_INVALID "\n無效的磁碟。\n\n"
|
||||
IDS_SELECT_DISK_ENUM_NO_START "\nNo disk enumeration started yet.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_DISK_ENUM_FINISHED "\nThe last disk has been enumerated.\n\nNo disk ist currently selected.\n\n"
|
||||
IDS_SELECT_NO_PARTITION "\n目前選擇的磁碟沒有磁碟分割。\n請選擇一個磁碟,然後再試一次。\n\n"
|
||||
IDS_SELECT_PARTITION "\n磁碟分割 %lu 現在是所選擇的磁碟分割。\n\n"
|
||||
IDS_SELECT_PARTITION_NO_DISK "\n沒有選擇要設定磁碟分割的磁碟。\n請選擇一個磁碟,然後再試一次。\n\n"
|
||||
|
|
|
@ -85,13 +85,15 @@
|
|||
#define IDS_SELECT_NO_DISK 4400
|
||||
#define IDS_SELECT_DISK 4401
|
||||
#define IDS_SELECT_DISK_INVALID 4402
|
||||
#define IDS_SELECT_NO_PARTITION 4403
|
||||
#define IDS_SELECT_PARTITION 4404
|
||||
#define IDS_SELECT_PARTITION_NO_DISK 4405
|
||||
#define IDS_SELECT_PARTITION_INVALID 4406
|
||||
#define IDS_SELECT_NO_VOLUME 4407
|
||||
#define IDS_SELECT_VOLUME 4408
|
||||
#define IDS_SELECT_VOLUME_INVALID 4409
|
||||
#define IDS_SELECT_DISK_ENUM_NO_START 4403
|
||||
#define IDS_SELECT_DISK_ENUM_FINISHED 4404
|
||||
#define IDS_SELECT_NO_PARTITION 4405
|
||||
#define IDS_SELECT_PARTITION 4406
|
||||
#define IDS_SELECT_PARTITION_NO_DISK 4407
|
||||
#define IDS_SELECT_PARTITION_INVALID 4408
|
||||
#define IDS_SELECT_NO_VOLUME 4409
|
||||
#define IDS_SELECT_VOLUME 4410
|
||||
#define IDS_SELECT_VOLUME_INVALID 4411
|
||||
|
||||
#define IDS_SETID_FAIL 4450
|
||||
#define IDS_SETID_SUCCESS 4451
|
||||
|
|
|
@ -39,35 +39,75 @@ SelectDisk(
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
if (!IsDecString(argv[2]))
|
||||
if (!_wcsicmp(argv[2], L"system"))
|
||||
{
|
||||
ConResPuts(StdErr, IDS_ERROR_INVALID_ARGS);
|
||||
return TRUE;
|
||||
}
|
||||
CurrentDisk = NULL;
|
||||
|
||||
ulValue = wcstoul(argv[2], NULL, 10);
|
||||
if ((ulValue == 0) && (errno == ERANGE))
|
||||
{
|
||||
ConResPuts(StdErr, IDS_ERROR_INVALID_ARGS);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
CurrentDisk = NULL;
|
||||
|
||||
Entry = DiskListHead.Flink;
|
||||
while (Entry != &DiskListHead)
|
||||
{
|
||||
Entry = DiskListHead.Flink;
|
||||
DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry);
|
||||
|
||||
if (DiskEntry->DiskNumber == ulValue)
|
||||
CurrentDisk = DiskEntry;
|
||||
CurrentPartition = NULL;
|
||||
ConResPrintf(StdOut, IDS_SELECT_DISK, CurrentDisk->DiskNumber);
|
||||
return TRUE;
|
||||
}
|
||||
else if (!_wcsicmp(argv[2], L"next"))
|
||||
{
|
||||
if (CurrentDisk == NULL)
|
||||
{
|
||||
CurrentDisk = DiskEntry;
|
||||
CurrentPartition = NULL;
|
||||
ConResPrintf(StdOut, IDS_SELECT_DISK, CurrentDisk->DiskNumber);
|
||||
ConResPuts(StdErr, IDS_SELECT_DISK_ENUM_NO_START);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Entry = Entry->Flink;
|
||||
if (CurrentDisk->ListEntry.Flink == &DiskListHead)
|
||||
{
|
||||
CurrentDisk = NULL;
|
||||
CurrentPartition = NULL;
|
||||
ConResPuts(StdErr, IDS_SELECT_DISK_ENUM_FINISHED);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Entry = CurrentDisk->ListEntry.Flink;
|
||||
|
||||
DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry);
|
||||
|
||||
CurrentDisk = DiskEntry;
|
||||
CurrentPartition = NULL;
|
||||
ConResPrintf(StdOut, IDS_SELECT_DISK, CurrentDisk->DiskNumber);
|
||||
return TRUE;
|
||||
}
|
||||
else if (IsDecString(argv[2]))
|
||||
{
|
||||
ulValue = wcstoul(argv[2], NULL, 10);
|
||||
if ((ulValue == 0) && (errno == ERANGE))
|
||||
{
|
||||
ConResPuts(StdErr, IDS_ERROR_INVALID_ARGS);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
CurrentDisk = NULL;
|
||||
|
||||
Entry = DiskListHead.Flink;
|
||||
while (Entry != &DiskListHead)
|
||||
{
|
||||
DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry);
|
||||
|
||||
if (DiskEntry->DiskNumber == ulValue)
|
||||
{
|
||||
CurrentDisk = DiskEntry;
|
||||
CurrentPartition = NULL;
|
||||
ConResPrintf(StdOut, IDS_SELECT_DISK, CurrentDisk->DiskNumber);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Entry = Entry->Flink;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ConResPuts(StdErr, IDS_ERROR_INVALID_ARGS);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
ConResPuts(StdErr, IDS_SELECT_DISK_INVALID);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue