无忧启动论坛

标题: Partition Manager Script Language [打印本页]

作者: wang6610    时间: 2006-4-17 21:15
标题: Partition Manager Script Language


PSL
Paragon Script Language





User Guide





Table of Contents
1.Purpose of the Paragon Scripting language4
1.1.Agreements accepted in this document4
1.2.Elements of the PSL language5
1.3.General structure of the PSL-program10
2.PSL-language command structure10
3.Special commands11
3.1.Commands of unconditional control transfer11
3.2.Iterations11
3.3.Conditional control transfer12
3.4.Printing12
3.5.User';s confirmation inquiry12
3.6.Script debugging12
3.7.Running a binary file13
3.8.A control command of using the mode of default response messages13
3.9.System reboot13
3.10.Variable name assignment to a partition13
3.11.Getting an error description13
3.12.Procedure termination14
3.13.PSL-program termination14
4.Global commands14
4.1.Disk selection14
4.2.Source partition selection15
4.3.Image file selection16
4.4.Disk selection for a copy operation17
4.5.Partition selection for a copy operation17
4.6.Selection cancellation18
4.7.Running virtual operations group18
4.8.Virtual operations group cancellation18
4.9.Turning surface check option on19
4.10.Block of settings definition19
5.Paragon partition manager commands20
5.1.Partition creation21
5.2.Partition formatting21
5.3.Setting partition flags22
5.4.Changing partition size22
5.5.Partition modification23
5.6.Partition deletion24
5.7.Partition wiping24
5.8.Partition free space clearing24
5.9.Disk/partition protection25
5.10.Partition moving25
5.11.Partition copying26
5.12.Hard disk copying26
6.Paragon backup commands26
6.1.Hard disk backup/restore operations27
6.2.Partition backup/restore operations28
6.3.Floppy drive backup/restore operations29
6.4.MBR backup/restore operations30
6.5.First track backup/restore operations31
7.Network commands32
7.1.Close network files command32
7.2.Check for network files presence command32
8.Appendix A. PSL keywords. Brief definitions32
9.Appendix B. Time Zones codes38
10.Appendix C. Operations results codes39


1.Purpose of the Paragon Scripting language
Paragon Scripting language (PSL) is intended for running operations implemented in Paragon software products in the batch mode.
The formal definition of this language can be found in the “Paragon Scripting language Specification” document.
PSL is an interpreted higher-level language, which allows writing programs (scripts) defining the content and the sequence of running of Paragon software products basic operations.
1.1.Agreements accepted in this document
The following agreements and symbols are accepted in this document:
-Roman type with underlining is assigned to keywords which can be typed both in the upper and in the lower case in the user’s script;
-expressions enclosed in angle brackets <> signify the composite elements of the language, the actual value of which should be selected by a user;
-optional command elements are enclosed in square brackets [ ];
-command elements enclosed in curly brackets { } can repeat;
-enclosing expressions with numeric or Boolean values into round brackets ( ) does not change the values of those expressions.

1.2.Elements of the PSL language
First of all we shall define the common elements and constructions which are used in different commands.
<any symbol> - any printable symbol (i.e., a symbol that has the appropriate graphical image).
<letter> - any letter from the following list: a, b, c, d, e, f, g, h, I, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z.
</> - slash, a forward ‘/’ or a back ‘\’ slash symbol.
<name> – a name represented as a continuous sequence of letters, digits, and low line “_” symbols starting with a letter or the low line “_” symbol.
<number> – a decimal or a hexadecimal signed number represented as a sequence of decimal or hexadecimal digits. In the latter case a numeric value should be prefixed with 0x.
<comment> – a comment which represents an arbitrary text enclosed into the “/*”  and “*/” symbols. Besides, a single string comment is allowed. A single string comment should start with the “//” symbol and continue till the end of the string. Comments are ignored when a PSL-program runs.
<command> - any PSL-command. Each command is described in the consequent sections of this document.
<variable> - an arbitrary sequence of any printable symbols enclosed into double quotes (“ and ”).
<equal> – one of the following symbols of comparison:
== - equal,
!= - not equal,
<> - not equal.
<label> – a label which represents a <name> with a colon afterwards. The label is used to mark a position in a PSL-program where we want to be able to transmit control from another position of the program.
Base objects that are used by PSL commands are disks, partitions, boot sectors and image files. Hereafter is the definition of syntax for these objects. Take a note that numbering of disks and partitions on a disk starts with zero;
<disk specification> - a disk specification defined using one of the methods listed below:
-<BIOS number> - a disk number obtained from BIOS (can take 0x80, 0x81, 0x82, 0x83),
-<linux name> - a disk name according to OS Linux notation (can take hda, hdb, hdc, hdd, sda, sdb, sdc, sdd),
-<Paragon magic number> - a Paragon magic number which has the following definition format:
PARAGON <number>
-<drive number> - a sequence number of a disk;
-<network disk name> - a network disk name which has the following definition format:
</></><host></><filename>,
where <host> - defines the host in the network either by an IP-address in the common format (for example, 193.128.65.3) or by identifier in the form of a sequence of symbols,
and <filename>  is a disk name which uses a simple file name notation.
Note. PSL allows using either (‘/’) or (‘\’) symbols to write both network and local paths.
<disk indicator> - a disk number defined using one of the following methods:
CURDISK
- currently selected disk.
<disk specification>
- a disk defined with the specification.
<disk indicator> + <number>
- a disk defined using one of the described methods and a positive offset of its number.
<disk indicator> - <number>
- a disk defined using one of the described methods and a negative offset of its number.
<partition indicator> - a partition number defined using one of the following methods:
CURPARTITION
- currently selected partition.
<number>
- a partition defined using its sequence number.
<letter>
- a partition defined using the letter assigned to it.
“{<any symbol>}”
- a partition defined using the volume label.
FIRST
- the first partition on a disk.
LAST
- the last partition on a disk.
EXTENDED
- the extended partition on a disk.
LARGEST
- the largest partition on a disk.
SMALLEST
- the smallest partition on a disk.
<partition indicator> + <number>
- a partition defined using one of the described methods and a positive offset of its number.
<partition indicator> - <number>
- a partition defined using one of the described methods and a negative offset of its number.
LABEL = “{<any symbol>}”
- defines the volume label or the partition/disk image label;
PWD = “{<any symbol>}”
- defines the access password to the archive (the disk image);
Here is the definition of a very important notion – the size which is an attribute of different object types used in PSL.
<size operand> is the common designation of an object size. It is defined using one of the following methods:
SIZEDISK (<disk indicator>)
- the size of the disk specified in the <disk indicator> parameter, in Kb.
SIZEPARTITION (<disk indicator> , <partition indicator>)
- the size of the partition specified in the <disk indicator> and the <partition indicator> parameters, in Kb.
SIZEFREE (<disk indicator>, <partition indicator>)
- the size of the free space on a partition defined using the <disk indicator> and the <partition indicator>, in Kb.
SIZEUSED (<disk indicator>, <partition indicator>)
- the size of the used space on the partition specified in the <disk indicator> and the <partition indicator> parameters, in Kb.
<digit> {<digit>}
- the size defined using the numeric value (a sequence of digits).
<size operand> <arithmetic> <size operand>
- the size defined as the result of the arithmetic operation which has two operands defined using one of the following methods. <arithmetic> is one of the arithmetic operations listed below:
-  - minus sign,
+ - plus sign,
* - multiplication sign,
/ - integer division sign.
- <size operand>
-this notation is equal to (0 - <size operand>) (this is a particular case of the former definition of the size as a result of a subtraction operation).
<resize parameter> - this is the common designation of the value of the object size changing.  The value type (a unit) depends on the object type and can be set using one of the following methods:
<number> - a direct numeric value of either the new size of the object or the size changing,
MAX – the maximum possible object size (only in case if the object is a partition),
MIN – the minimum possible object size (only in case if the object is a partition);
Hereafter is the definition of conditional expressions which are used in conditional PSL-commands of the control transfer.
<clause> - is a conditional expression which takes on either true or false Boolean values.
Firs of all we shall define the conditional expression which can be set using one of the following methods:
BOOT (<disk indicator> , <partition indicator>)
- a partition flag check operator; it takes on the true value if the specified partition is bootable and it takes on the false value in the opposite case.
HIDDEN (<disk indicator> , <partition indicator>)
- a partition flag check operator; it takes on the true value if the specified partition is hidden and it takes on the false value in the opposite case.
PRIMARY (<disk indicator> , <partition indicator>)
- a partition type check operator; it takes on the true value if the specified partition is primary and it takes on the false value in the opposite case.
EXTENDED (<disk indicator> , <partition indicator>)
- a partition type check operator; it takes on the true value if the specified partition is extended and it takes on the false value in the opposite case.
LOGICAL (<disk indicator> , <partition indicator>)
- a partition type check operator; it takes on the true value if the specified partition is logical and it takes on the false value in the opposite case.
FAT (<disk indicator> , <partition indicator>)
- a file system type check operator; it takes on the true value if the specified partition is formatted as FAT file system and it takes on the false value in the opposite case.
<size operand> <comparison> <size operand>
- the size comparison: it takes on the true value if the <comparison> condition is fulfilled with specified operand values. Otherwise it takes on the false value.
<comparison>  is one of the following comparison symbols:
<   - less-than,
<= - less or equal,
>= - greater or equal,
>   - greater-than,
== - equal,
!=  - not equal,
<> - not equal.
FILESYSTEM (<disk indicator> , <partition indicator>) <equal> <fs type>
- a file system type check operator; it takes on the true value if file system type corresponds to (or does not correspond to – depends on the <equal> condition value ) the specified value. Otherwise it takes on the false value.
TIME (<hour> : <minute> <day> : <month> : <year>)
- a time comparison operator which compares current time with specified time: if current time is less than the specified one (and this script does not run), it takes on the  true value. Otherwise it takes on the false value.
Here
<hour>
- are the hours specified with a two digit whole number,
<minute>
- are the minutes specified with a two digit whole number,
<day>
- is the day specified with a two digit whole number,
<month>
- is the month specified with a two digit whole number,
<year>
- is the two digit whole number specifying two latter (junior) numbers of the year.
ASK
- an operator of the keyboard input. When a user pushes the ‘Y’ button it takes on the true value. Otherwise it takes on the false value.
<error operand> <comparison> <error operand next>
- a comparison of two codes of the operation fulfill: it takes on the true value if the <comparison> condition is fulfilled with specified operand values. Otherwise it takes on the false value. <error operand> - is the operator
ERRORCODE(<number>)
which takes on the error code value for the operation with the <number> number. при обратном отсчете от последней выполненной операции,
and <error operand next> - is either a similar operator <error operand>, or   a direct error code value (refer to the complete error codes list at Appendix C).
EXIST (<disk indicator>)
- a disk existence check operator. It takes on the true value if the disk exists. Otherwise it takes on the false value.
EXIST (<disk indicator>, <partition indicator>)
- a partition existence check operator. It takes on the true value if the partition exists. Otherwise it takes on the false value.
MOUNT (<disk indicator>, <partition indicator>) <equal>
“{<any symbol>}”
- an operator which checks if the partition is mounted. It takes on the true value if the partition is mounted in the system under the specified name. Otherwise it takes on the false value.
VOLUMELABEL (<disk indicator>, <partition indicator>) <equal>
“{<any symbol>}”
- an operator which checks the volume label of the specified partition. It takes on the true value if the real volume label is <equal> to the specified text value. Otherwise it takes on the false value.
UNKNOWN (<disk indicator>, <partition indicator>)
- an operator that takes on the true value if the type of the specified partition is unknown. Otherwise it takes on the false value.
UNFORMATTED (<disk indicator>, <partition indicator>)
- an operator that takes on the true value if the specified partition is unformatted. Otherwise it takes on the false value.
ERRONEOUS (<disk indicator>, <partition indicator>)
- an operator that takes on the true value if the specified partition is erroneous, i.e. there are some errors in the structure of MBR->EPR. Otherwise it takes on the false value.
There are the following ways to write complex conditional expressions:
<clause> AND <clause>
- the conjunction of values of two expressions.
<clause> OR <clause>
- the disjunction of values of two expressions.
NOT <clause>
- the inversion of an expression value,
where <clause> can be defined using one of the mentioned ways including the complex conditional expression.
1.3.General structure of the PSL-program
PSL program is a text file, which consists of the sequence of PSL-commands and comments. As was already listed above, a comment may be positioned in the same line with the command, or it can be inserted as a comment block, which takes one or several strings, following each other. Also we should mention a special comment style, where the comment must be positioned in a script first string only. This comment type has the following format:
&#35;!<path to the interpreter>
We list it as a comment just because this string does not contain any PSL-command. The only thing why this string is required is to define the interpreter of this script. Such style is very common for UNIX-based systems.
Each PSL-command begins from a new line and can be preceded by a label.  Structurally PSL-program consists of main program and procedures. The beginning of the program coincides with the beginning of the file, and its end – with the end of the file accordingly. There are no special operators defining the beginning and the end of the main program.
Procedures are placed inside of the main program, and, therefore, each procedure must be preceded by a special operator which jumps to another position of the main program (i.e. steps over the procedure). The beginning of each procedure is identified by a label, and the end is identified by the ENDCALL keyword. This is a command, which returns the program execution to the point from which this procedure was called.
2.PSL-language command structure
According to the PSL-language command functionality, they can be divided into the following groups:
-special commands,
-global commands,
-Paragon partition manager commands,
-Paragon backup commands,
-network commands.
“Special commands” group includes the control transfer commands which define the logical structure of the PSL-program, i.e. control the sequence of PSL-commands execution. Other commands of this group provide interaction with a user by means of screen output and requesting user confirmations, system reboot and also turning script debugging mode ON or OFF.
Global commands themselves do not perform any special operations on disks, partitions, etc. However, they provide the execution of these operations by definition of the objects, which are going to be influenced, and, after all, execute the proper operation sequence (i.e. apply virtual operations). These operations are defined by the commands of the partition manager commands group and backup commands group. In addition to that, commands of this group allow undoing virtual operations as well as turning ON the disk/partition surface check option.
Partition manager commands group consists of commands used to define partition operations, such as partition creation, formatting, resizing, deletion, etc.
Backup commands group consists of commands used to define the backup operations, such as: backup/restore operations for hard/floppy disks, partitions and MBRs.
Network commands group is the smallest one. It includes only two commands, and they are titled by their purpose:
-    close network files command and
-    check for network files presence command.
Below is the description of the commands grouped according to the classification above.
3.Special commands
First of all, let us give the description for the commands of this group, because it contains control transfer commands, which define the PSL-program logical structure.
Special commands group includes:
-commands of unconditional control transfer,
-iterations commands,
-conditional control transfer,
-print commands,
-command of user’s confirmation inquiry,
-script debugging command,
-running a binary file command,
-command to turn on/off the default response messages,
-system reboot command,
-command to assign a variable name to the current partition,
-getting an error description command,
-procedure termination command,
-program termination command.
Below is the description of each command.
3.1.Commands of unconditional control transfer
There are two types of unconditional control transfer commands, having the following format:
GOTO <label>
- defines the transition to the specified label <label>.
CALL <label>
- defines the PSL-procedure call (transition to the specified label <label> with the return after the current call command).
3.2.Iterations
Iteration command defines the execution of the commands block for all objects of the same type. The concrete type is defined for each command. There are two variants of this command:
Iteration command for all hard drives
FOR ALL DISKS {<command>} ENDFOR
- defines the execution of the commands group {<command>} for all the selected disks.
Iteration command for all partitions
FOR ALL PARTITIONS {<command>} ENDFOR
- defines the execution of the commands group {<command>} for all the selected partitions.
3.3.Conditional control transfer
This command is designed to execute one of the two commands group depending on the value of the conditional expression:
IF (<clause>) THEN {<command>} ENDIF [ELSE {<command>} ENDELSE]
-if the expression <clause> has the true-value, the command group {<command>} of the THEN branch will be executed (i.e. commands between THEN and ENDIF),
-if the expression <clause> has the false-value, the command group {<command>} of the ELSE branch will be executed (i.e. commands between ELSE and ENDELSE).
3.4.Printing
This command is used to output the specified text to the screen and has the following format:
PRINT “{<any symbol>}”
where “{<any symbol>}” is a char sequence (text message), which has to be printed on the screen.
3.5.User';s confirmation inquiry
This command is a predicate and can take on either true или false depending on the value of a symbol brought from the keyboard. This command has already been described in the definition of the conditional expression <clause>. It has no parameters and is defined with the command operator:
ASK
- waits for a keyboard input. It takes on the true value if the ‘Y’ key is pressed by the user. Otherwise it takes on false.
3.6.Script debugging
This command is used to turn the debug mode of the script fake execution on/off. Only script syntax is checked in this mode without the real command execution. This command has the following format:
SCO ON
- turns the debug mode on.
SCO OFF
- turns the debug mode off.
3.7.Running a binary file
This command runs the specified executable file from the PSL-script and has the following format:
EXEC FILE “<name of file>”
- transmits the binary file of the executable image, defined as <name of file>, to the OS command shell.
3.8.A control command of using the mode of default response messages
This command is used to control the confirmation/denial request mode. It defines the source, which will be used to get the required parameters. This source is represented either by the keyboard or by the configuration file. If this mode is turned off, the default answers from the configuration file will be used, otherwise the user will be prompted to provide them.
CONFIRM ON
- defines the user-prompt mode.
CONFIRM OFF
-defines the mode to use default responses.
3.9.System reboot
This command is used to reboot the system. It takes no parameters and is defined by the
REBOOT
command.
3.10.Variable name assignment to a partition
This command assigns a variable name to the current partition, but it does not work ащк free blocks. This command has the following format:
SET VARIABLE <variable>
where the <variable> parameter defines the variable name, used to identify the current partition.
3.11.Getting an error description
This command is used to output the error description. This command has the following format:
STRERROR (<number>)
where <number> is the error code value, which description is to be outputted. This description can be either direct or defined as the value of the ERRORCODE (<number>) operator, representing the error code for the operation with number <number>, counted down from the last operation applied. List of the possible error codes can be viewed in Appendix A.
3.12.Procedure termination
This command is the last procedure command. It returns the control from the procedure to the next point from which it was called. This command requires no parameters and is defined be keyword:
ENDCALL
3.13.PSL-program termination
This command terminated the PSL-program execution. It can be included into the main program as well as into the procedure. This command has the following format:
EXIT (<number >)
where <number> can be the value either of the exit code, or the direct value or the value of the ERRORCODE (<number>) operator, which represents the operation with number <number> error code, counted down from the last operation executed.
4.Global commands
Global commands themselves do not perform any operations on disks, partitions, etc., but each of these operations requires previously selected objects, on which it will be performed. Therefore, disk/partition backup and restore operations require the selection of the source and target drives or partitions. This also corresponds to partition creation/formatting/deletion/resizing, etc. operations. Such selection, as well as canceling the selection made can be performed by the appropriate global commands.
Other commands of this group provide the execution and undoing for virtual operations, as well as surface check for the specified object (the last operation listed is not the specific one, because it does not perform any object modifications).
Global commands group includes:
-disk selection command,
-partition selection command,
-image file selection command,
-disk selection for a copy operation,
-partition selection for a copy operation,
-selection cancellation command,
-running virtual operations group command,
-virtual operations group cancellation command,
-command to turn the surface check option on,
-command to define the block of settings.
Below is the description of each command of this group.
4.1.Disk selection
Disk selection command is used to select a disk for further operations and has the following format:
SELECT DRIVE <disk specification>
SELECT DISK <disk specification>
where <disk specification> option defines the hard disk one of the ways listed above.
4.2.Source partition selection
Source partition selection command is used to select a partition or a free block on the disk for further operations and has the following formats:
Partition selection:
SELECT PARTITION <number>
- defines the partition selection by the number provided.
SELECT PARTITION <letter>
- defines the partition selection by the letter <letter>, assigned to the partition.
SELECT PARTITION <volume label>
- defines the partition selection by the volume label specified as “{<any symbol>}”.
SELECT PARTITION FIRST
- defines the first partition selection.
SELECT PARTITION LAST
- defines the last partition selection.
SELECT PARTITION EXTENDED
- defines the extended partition selection.
SELECT PARTITION LARGEST
- defines the partition selection, which has the maximum size.
SELECT PARTITION SMALLEST
- defines the partition selection, which has the minimum size.
SELECT PARTITION NEXT
- defines the selection of the next partition.
SELECT PARTITION PREVIOUS
- defines the selection of the previous partition.
SELECT PARTITION OFFSET  <number>
- defines the partition selection using the boot sector offset number <number>, specified in sectors.
SELECT PARTITION VARIABLE <variable>
- defines the partition selection using the value of the variable specified.
SELECT PARTITION PRIMARY <number>
- defines the primary partition selection by the number specified.
SELECT PARTITION LOGICAL <number>
- defines the logical partition selection using the number specified.
Free block selection:
SELECT FREESPACE FIRST
- defines the first free block selection.
SELECT FREESPACE LAST
- defines the last free block selection.
SELECT FREESPACE LARGEST
- defines the free block selection, which has the maximum size.
SELECT FREESPACE SMALLEST
- defines the free block selection, which has the minimum size.
SELECT FREESPACE <number>
- defines the free block selection by the number specified.
SELECT FREESPACE OFFSET <number>
- defines the free block selection, using the boot sector offset <number>, specified in sectors.
SELECT FREESPACE PRIMARY <number>
- defines the free block selection, positioned outside the extended partition, using the number <number> specified.
SELECT FREESPACE LOGICAL <number>
- defines the free block selection inside the extended partition using the number <number> specified.
4.3.Image file selection
Image file selection command is used to select/set the partition/disk image file for further operations over it and has the following format:
IMG = “<name_of_file>”
- where <name of file> - is a full name of the image file, which is a sequence record of
1)logical drive <drive> specification and
2)path <path> to the file, including the full directory trace and ending with the file name.
Logical drive <drive> is specified by one of the following ways:
<letter>:</>
- DOS logical drive,
</><linux_name><digit>/
- LINUX logical device,
/HARD<number></><partition id></>
- common way of logical drive specification, where partition identifier <partition id> is defined as
PARTN<number>
where <number> is the partition number, or as
PARTB<boot offset>
where <boot offset> is the partition boot sector offset.
</></><host></><path>
- network drive.
A path to a file <path> is the sequence of the enclosed directories and the file name as the last element of this chain, separated by the front slash or backslash symbols.
4.4.Disk selection for a copy operation
This command is used to select the drive for the further operations on the disk/partition copy and has the following format:
SELECT COPY DRIVE <disk specification>
SELECT COPY DISK <disk specification>
where <disk specification> parameter defines the hard disk using one of available ways listed above.
4.5.Partition selection for a copy operation
Partition selection for a copy operation command is used to select a partition or a free block to create a partition copy in it. This command has the following formats:
SELECT COPY PARTITION <number>
- defines the partition by number < number > to copy to.
SELECT COPY PARTITION <letter>
- defines the partition by letter < letter > to copy to.
SELECT COPY PARTITION <volume label>
- defines the partition by the volume label “{<any symbol>}” to copy to.
SELECT COPY PARTITION FIRST
- defines the first partition to copy to.
SELECT COPY PARTITION LAST
- defines the last partition to copy to.
SELECT COPY PARTITION EXTENDED
- defines the extended partition to copy to.
SELECT COPY PARTITION LARGEST
- defines the partition with the maximum size to copy to.
SELECT COPY PARTITION SMALLEST
- defines the partition with the minimum size to copy to.
SELECT COPY PARTITION NEXT
- defines the next partition to copy to.
SELECT COPY PARTITION PREVIOUS
- defines the previous partition to copy to.
SELECT COPY PARTITION OFFSET <boot offset>
- defines the partition by the specified boot sector offset <boot offset> to copy to.
SELECT COPY PARTITION VARIABLE <variable>
- defines the partition by the specified variable value <variable> to copy to.
SELECT COPY PARTITION PRIMARY <number>
- defines the primary partition by number <number> to copy to.
SELECT COPY PARTITION LOGICAL <number>
- defines the logical partition by number <number> to copy to.
SELECT COPY FREESPACE FIRST
- defines the first free block to copy to.
SELECT COPY FREESPACE LAST
- defines the last free block to copy to.
SELECT COPY FREESPACE LARGEST
- defines the free block which has the maximum size to copy to.
SELECT COPY FREESPACE SMALLEST
- defines the free block which has the minimum size to copy to.
SELECT COPY FREESPACE <number>
- defines the free block by the specified number <number> to copy to.
SELECT COPY FREESPACE OFFSET <boot offset>
- defines the free block by the specified boot sector offset <boot offset> to copy to.
SELECT COPY FREESPACE PRIMARY <number>
- defines the free block outside the extended partition by the specified number <number> to copy to.
SELECT COPY FREESPACE LOGICAL <number>
- defines the free block inside the extended partition by the specified number <number> to copy to.
4.6.Selection cancellation
This command unselects all of the previously selected objects and is defined by the command word
UNSELECT ALL
without any parameters.
4.7.Running virtual operations group
This command is used for the real execution of the virtual operations group. It has the following format:
APPLY <number>
- defines the execution of the specified number <number> of virtual operations.
APPLY ALL
- defines the execution of all virtual operations.
4.8.Virtual operations group cancellation
This command is used to cancel the group of virtual operations (rollback). Rollback operation is applicable for these operations only before running the APPLY command listed above (i.e. before their real execution). It has the following format:
UNDO <number>
- defines the cancellation of specified number <number> of virtual operations.
UNDO ALL
- defines the cancellation of all virtual operations.
4.9.Turning surface check option on
This command turns the current partition surface check on. It has no parameters and is defined by the single command word
CHECK
4.10.Block of settings definition
This command is used to define the options, which will be used as default when executing other PSL-commands. It has the following format:
SETTINGS {<settings commands>} ENDSETTINGS
where
SETTINGS
- defines the beginning of the settings block,
ENDSETTINGS
- defines the end of the settings block,
{<settings commands>}
- defines the settings command group of separate parameters from the list below:
SURFACETEST <protect disk switch>
- permit/prohibit the surface check.
Here and in further options setting commands the < protect disk switch > key can take on one of the two following values:
ON – permits/turns on the appropriate option,
OFF – prohibits/turns off the appropriate option.
VERIFY <protect disk switch>
- permits/prohibits the transferred data verification.
COPYONETOONE <protect disk switch>
     - permits/prohibits the “sector-by-sector” copying mode.
ALLOW64KCLUSTER <protect disk switch>
            - permits/prohibits the 64-Kb cluster size for FAT.
DONOTHIDETARGET <protect disk switch>
- permits/prohibits hiding target primary partitions (ON – unhide the partition, OFF – hide the partition).
COPYINSTEADOFMOVE <protect disk switch>
- permits/prohibits copying instead of moving for adjacent blocks.
BIGDRIVES <protect disk switch>
           - turns on/off support for drives of big capacity.
COMPRESSIONLEVEL <number>
- defines the default compression level <number> from 0 to 9 for the backup operations.
SIDAFTERDISK <protect disk switch>
- turns on/off the SID changer usage after disk operations.
SIDAFTERPARTITION <protect disk switch>
- turns on/off the SID changer usage after partition operations.
DEFAULTSIDCHANGER <protect disk switch>
- turns on/off the usage of default SID changer parameters.
NODELLABEL <protect disk switch>
- turns on/off the user prompt of the volume label in case of partition deletion (ON – do not prompt, OFF – prompt the label).
TIMESHIFT <number>
- defines the default value <number> of the time shift in minutes (in the range from –12h to +12h).
OEMCODEPAGE <number>
- defines the default number <number> of the codepage.
TIMEZONE <number>
- defines the code <number> for the time zone. Time zone list can be viewed in Appendix B.
LANGNUMBER <number>
- defines the number <number> of the default language for the current codepage.
SLAVECFG <protect disk switch>
- permits/prohibits the slave disk configuration update.
NOTFORSLAVE <protect disk switch>
- permits/prohibits the slave disk layout refresh (ON - prohibited, OFF - permitted).
ENABLERESTART <protect disk switch>
- permits/prohibits the system restart operation.
ENABLEVIRTUALDB <protect disk switch>
- permits/prohibits virtual backup/restore operations.
AUTOCONVERTTOFAT32 <protect disk switch>
- permits/prohibits the automatic transformation from FAT16 into FAT32.
SIDPARAMSLENGTH <number>
- defines the default length <number> of the SID changer command line.
SIDPARAMS “{<any symbol>}”
- defines the default SID changer command string “{<any symbol>}”.
5.Paragon partition manager commands
Commands of this group are designed to perform the operations over partitions. The set of operations includes different types of partition modifications, control of partition write-protection, partition copying.
Partition manager command group consists of the following commands:
-partition creation command,
-partition formatting command,
-setting partition flags command,
-changing partition size command,
-partition modification command,
-partition deletion command,
-partition wiping command,
-partition free space clearing command,
-partition protection command,
-partition moving command,
-partition copying command.
-hard disk copying command.
Each command of this group is described below.
5.1.Partition creation
This command is designed to create a partition of the specified type. The free block for a new partition has to be previously selected using the  source partition selection command. Partition creation command has the following format:
CREATE /FS = <partition type> {<create options>}
where option FS defines the type of the partition in the <partition type> parameter value, which can take on one of the following values:
FAT, FAT32, HPFS, LINUXEXT2, LINUXSWAP, NTFS, EXTENDED, UNFORMATTED.
<create options> - a list of the following possible options of partition creation:
/LABEL
- defines the volume label for a partition to be created,
/SIZE = <number>
- defines the size for a partition to be created (in Kb),
/POSITION = BEGINNING
- defines the alignment with the beginning of the free space where the partition is to be created,
/POSITION = END
- defines the alignment with the end of the free space where the partition is to be created.
5.2.Partition formatting
This command is designed to format the current partition. The partition has to be previously selected using the  source partition selection command. Partition formatting command has the following format:
FORMAT <format specification> /FS = <fs type> {<format options>}
where
<format specification>
- an additional partition specification confirming our decision to format the partition loosing all the data on it. It is defined either by the volume label of the partition “{<any symbol>}”, or by the “NO NAME” value if the partition has no volume label or by “UNKNOWN” value if the file system type of the partition is unknown.
the FS option defines the type of the resulting file system in the <fs type> parameter, which can take on one of the following values:
FAT, FAT32, HPFS, LINUXEXT2, LINUXSWAP, NTFS, LINUXSWAP2.
<format options>
- a list of the following possible options of partition formatting:
/LABEL
- defines the volume label for a partition to be formatted,
/CLUSTER = <number>
- defines the cluster size in sectors for a partition to be formatted,
/ROOT = <number>
- defines the size of the root folder in sectors,
/BOOT = <number>
- defines the size of the boot record in sectors.
5.3.Setting partition flags
Commands of this group are designed to set the according flag for the current partition. The partition has to be previously selected using the source partition selection command. Setting partition flags command can be defined by one of the following ways:
HIDE
- sets the hide flag for the partition,
UNHIDE
- resets the hide flag for the partition,
SET ACTIVE
- sets the active flag for the partition,
SET INACTIVE
- resets the active flag for the partition.
5.4.Changing partition size
This command is designed to change the size/bounds of the current partition. The partition has to be previously selected using the  source partition selection command. Changing partition size command has the following format:
RESIZE <resize parameter> [/CLUSTERSIZE = <cluster size>]
where
<resize parameter> - a parameter defining the new size of the partition;
CLUSTERSIZE – an option that allows setting a new cluster size <cluster size> for the partition. It can take on one of the following values:
512, 1, 2, 4, 8, 16, 32, 64.
RESIZE LARGER <resize parameter> [/CLUSTERSIZE = <cluster size>]
- is similar to the previous command except for the numerical value of <resize parameter> parameter which defines the size of the partition increment instead of the final value of the partition size;
RESIZE LEFT BOUNDARY <resize parameter>
- defines the change of the extended partition size by shifting the left boundary. At that the value of the <resize parameter> parameter defines the new partition size in the following way: MAX defines the maximum possible shift of the boundary to the left (i.e. the maximum partition size), MIN defines the maximum possible shift of the boundary to the right (i.e. the minimum partition size), the numeric value defines the final position of this boundary in Kb;
RESIZE LEFT BOUNDARY LARGER <resize parameter>
- defines the increase of the extended partition size by shifting the left boundary position to the left, at that the numeric value of the <resize parameter> parameter defines the increase value in Kb;
RESIZE LEFT BOUNDARY SMALLER <resize parameter>
- defines the decrease of the extended partition size by shifting the left boundary position to the right, at that numeric value of the <resize parameter> parameter defines the decrease value in Kb;
RESIZE SMALLER <resize parameter> [/CLUSTERSIZE = <cluster size>]
- defines the decrease of the partition size (by shifting its right boundary position to the left), at that the numeric value of the <resize parameter> parameter defines the decrease value in Kb;
RESIZE SPACE AFTER <resize parameter> [/CLUSTERSIZE = <cluster size>]
- defines the change of the partition size by definition of the size of the free space, which should be left when the operation is completed;
RESIZE SPACE BEFORE <resize parameter>
-  defines the change of the partition size by definition of the size of the free space, which should be left before the partition itself when the operation is completed.
5.5.Partition modification
This command is designed to change different attributes of the current partition. The partition has to be previously selected using the  source partition selection command. This command has the following format:
CONVERT TO FAT
- defines the transformation of FAT32- or NTFS-partition into FAT;
CONVERT TO FAT32
- defines the transformation of FAT- or NTFS-partition into FAT32;
CONVERT TO HPFS
- defines the transformation of FAT-partition into HPFS;
CONVERT TO NTFS
- defines the transformation of FAT-partition into NTFS;
CONVERT TO PRIMARY
- defines the transformation of a logical partition into a primary one;
CONVERT TO LOGICAL
- defines the transformation of a primary partition into a logical one;
RESIZE ROOT <resize parameter>
- define the new number of elements in the root folder of a FAT-partition;
RESIZE BOOT <resize parameter>
- defines the new the number of sectors in the boot record;
RESIZE CLUSTER <resize parameter>
- defines the new number of sectors per cluster;
LABEL/SETLABEL = “{<any symbol>}”
- defines the new volume label for the selected partition.
5.6.Partition deletion
This command is designed to delete the current partition. The partition has to be previously selected using the  source partition selection command. This command has the following format:
DELETE <delete option>
where <delete option> is one of the following possible values of the delete partition option:
“NO NAME” – if the partition does not have a label,
“LINUXSWAP” – if the partition is a Linux swap one,
“UNKNOWN” – if the partition cannot have a label for some reason,
“{<any symbol>}” – is the volume label of the partition to be deleted.
5.7.Partition wiping
This command is designed to fill a partition with the specified fragment. The partition has to be previously selected using the  source partition selection command. This command has the following format:
WIPE {<wipe options>}
where <wipe options> - is the list of the following “wiping” options:  
MASK = <number>
- defines the mask to fill the space of the partition with,
PASS = <number>
- defines the number of passes to wipe the partition,
PERCENTS = <number>
- defines the size of the partition in percents to verify after wiping (from 0 up to 100).
5.8.Partition free space clearing
This command is designed to fill the free space of the partition with the specified fragment.  The verification of the result is enabled. This command has the following format:
CLEAR {<wipe options>}
5.9.Disk/partition protection
This command is designed to set/reset the drive (partition) write-protection. The partition has to be previously selected using the  source partition selection command. This command has the following format:
SET DRIVE READ ONLY MODE <protect disk switch>
- sets/resets the drive protection by turning the read-only access mode on/off (ON – sets the protection, OFF – resets the protection).
PROTECT PARTITION FIRST
- sets the write-protection for the first partition (the protection is invalid for free blocks).
PROTECT PARTITION LAST
- sets the write-protection for the last partition (the protection is invalid for free blocks).
PROTECT PARTITION
- sets the write-protection for the selected partition (the protection is invalid for free blocks).
UNPROTECT PARTITION FIRST
- resets the write-protection for the first partition.
UNPROTECT PARTITION LAST
- resets the write-protection for the last partition.
UNPROTECT PARTITION
- resets the write-protection for the selected partition.
5.10.Partition moving
This command is designed to move the selected partition. The partition has to be previously selected using the  source partition selection command. Partition moving is performed within the adjacent free blocks which presence and sizes impose the restrictions on the possible value and direction of moving as well as on the possibility of the partition size change while moving. The direction of moving and the size correction are defined with the command name and parameters. This command has the following format:
MOVE LEFT <resize parameter>
- moves the selected partition to the left, at that <resize parameter> defines the partition size change,
MOVE RIGHT <resize parameter>
- moves the selected partition to the right, at that <resize parameter> defines the partition size change,
MOVE SPACE BEFORE <move parameter>
- moves the selected partition to the right. <move parameter> can take on one of the following values:
MAX – defines the maximum possible moving to the right,
<number> - defines the real value in sectors for moving to the right.
MOVE SPACE AFTER <move parameter>
- moves the selected partition to the left. <move parameter> is similar to that of the previous command.
5.11.Partition copying
This command is designed to copy the selected partition. The source partition has to be previously selected using the  source partition selection command and the target one has to be selected using the partition selection for a copy operation. This command has the following format:
COPY [AUTORESIZE]
- copies one partition into another; optional parameter AUTORESIZE states that the target partitions must fill up all available space.
5.12.Hard disk copying
This command is designed to copy the contents of the selected hard disk onto the specified target hard disk. The source partition has to be previously selected using the disk selection command and the target one has to be selected using the disk selection for a copy operation. This command has the following format:
COPYDISK {<copy disk options>}
where {<copy disk options>} is the list of the following possible options:
NO_FREESPACES
- ignores free blocks when copying.
PROPORTIONAL <resize parameter>
- defines the proportional partition size change according to the <resize parameter> value during the copy:  
MAX – defines the partition expansion to the maximum,
MIN – defines the partition reduction to the minimum,
the numeric value defines the partition size change within the specified value.
6.Paragon backup commands
Commands of this group are designed to perform the operations of backing hard/floppy disks data, partitions, first tracks and boot records up into the archive (i.e. into the image file) as well as the operations of restoration of the listed objects from the specified image file.
Backup command group consists of the following commands:
-Hard disk backup/restore operations,
-Partition backup/restore operations,
-Floppy disk backup/restore operations,
-MBR backup/restore operations,
-First track backup/restore operations.
The description for each of these commands is listed below.
6.1.Hard disk backup/restore operations
Hard disk backup operation is designed to store the contents of the hard disk into the image file with the ability of further restoration. Hard disk backup command is compound. It includes the command of selecting any hard disk partition, the command of definition of backup options and the command to store the selected objects into the image file, which must be previously defined using the IMG command.  Hard disk backup command has the following format:
SELECT PARTITIONS ALL [OPTIONS <store options>
{<store options>}] STORE
where
SELECT PARTITIONS ALL
                       - a command which selects all of the hard disk partitions to be stored in the image file,
OPTIONS <store options> {<store options>}
                       -  a command which defines the block of storing options,
where <store options> is the list of the following available options:
SSO
- defines the storing only of system structures – folders structures without the files contents (Store Structures Only). It should help to deal with the problems of disk backup/restore operations reported by remote users.
CMP = <compression level>
- defines the image files compression level, where <compression level> is the compression level degree expressed by a digit from 0 to 9 (including the limits), i.e. from the total absence of compression till its maximum accordingly,
MFS = <number>
- defines the maximum image file size (in Kb). When it is exceeded the sequence of image files is generated. The size of each file is limited by the <number> value,
PWD
- sets the password for the archive (disk image) being generated,
CAS
- defines the sector-by-sector copy. In this case all partition data including deleted files is stored,
LABEL
             - defines the archive (disk image) label.
STORE
- starts the process of storing partitions into an image file.
Hard disk restore operation is designed to restore the contents of hard disk from an image file. Hard disk restore command is compound. It includes the command of deleting all partitions on the target drive, the command of selecting all objects stored in the image file, the command to define the restore options and the command to restore all disk partitions from the image file. Hard disk image file must be previously defined using the IMG command. Hard disk restoration command has the following format:
DELETE ALL   SELECT IMAGE ALL[OPTIONS <restore options>
{<restore options>}] RESTORE
where
DELETE ALL
- a command to delete all partitions on the target drive,
SELECT IMAGE ALL
- a command to select images of all objects stored in the archives (disk image file),
OPTIONS <restore options> {<restore options>}
- a command which defines the block of restore options, where <restore options> is the list of the following available options:
CBS - check for bad sectors (Check for Bad Sectors),
PWD
- sets the archive (disk image) access password,
RAV <equal> <number> - write verification,
- where <number> is the limiter of the verifications number (it is required only for compatibility with PowerQuest scripts syntax and is ignored in PSL).
RESTORE
- starts the process of objects restoration from the image file. All data stored in it is restored into the specified free block.
6.2.Partition backup/restore operations
Partition backup operation is designed to store the contents of partition into an image file with the ability of further restoration. Partition backup command is compound. It includes the command of partition selection, the command of definition of backup options and the command to store the selected partition into the image file, which must be previously defined using the IMG command. Partition backup command has the following format:
{<select partition>} [OPTIONS <store options> {<store options>}] STORE
where
{<select partition>} – a list of commands to select partitions to backup,
OPTIONS <store options> {<store options>}
                        - a command to define the backup/store options,
STORE
- starts the process of storing partition into an image file.
Partition restore command is designed to restore the contents of partition from the image file. Partition restoration command is compound. It includes the list of commands to select partition images (each command may be followed by another command to define the options of partition size changing), the command of definition of general restoration options and the command to restore from the image file. Besides, it must be preceded by the command of free block selection as the target space for the partition restoration. Partition restoration command has the following format:
<select image> [<image restore options>] {<select image> [<image restore options>]} [OPTIONS <restore options> {<restore options>}] RESTORE
where <select image> defines the partition image in the image file from which restoration has to be made using one of the two following ways:
SELECT IMAGE ALL
- a command which selects all partitions in the image file,
SELECT IMAGE <number>
- a command which selects a partition image which has the <number> number in the image file,
In the first case, the list of commands of partition images selection must be limited with a single command SELECT IMAGE ALL.
<image restore options> - an option to change a partition size while restoring from an image file, defined using one of the following ways:
RESIZE IMAGE NO
- defines the saving of the original partition size when restoring from the image file,
RESIZE IMAGE PROPORTIONAL
- defines the proportional size changing of the partitions when restoring from the image file,
RESIZE IMAGE <number>
- defines the specified partition size <number> (in Kb) for the partition being restored,
RESIZE IMAGE MAX
- defines the maximum available size for the partition being restored,
RESIZE IMAGE MOST SPACE
- defines the partition size changing up to the maximum available size.
OPTIONS <restore options> {<restore options>}
                        - a command which defines the restoration options,
RESTORE
- starts the process of partitions restoration from the image file. Restoration is performed into the previously specified free block.
6.3.Floppy drive backup/restore operations
Floppy disk backup operation is designed to store the contents of the floppy disk into the image file with the ability of further restoration. Floppy disk backup command is compound. It includes the command of the floppy drive selection, the command of definition of backup options and the command to store into the image file, which must be previously defined using the IMG command. Backup command can be defined in two ways which differ by the way of the floppy drive selection:
SELECT FLOPPY <number> [OPTIONS <store options> {<store options>}]
     STORE
SELECT FLOPPY <letter> [OPTIONS <store options> {<store options>}] STORE
where
SELECT FLOPPY <number>
- a command which selects a floppy drive by the device number <number>,
SELECT FLOPPY <letter>
- a command which selects a floppy drive by the assigned letter <letter>,
OPTIONS <store options> {<store options>}
- a command which defines the backup options,
STORE
- starts the process of storing the floppy disk data into the image file.
Floppy drive restore operation is designed to restore the contents of floppy drive from an image file. Floppy drive restore command is compound. It includes the command of the target floppy drive selection, the command of definition of restoration options and the command to restore from the image file, which must be previously defined using the IMG command. Backup command can be defined in two ways which differ by the way of the floppy drive selection:
SELECT FLOPPY <number> [OPTIONS <restore options>
{<restore options>}] RESTORE
SELECT FLOPPY <letter> [OPTIONS <restore options>
{<restore options>}] RESTORE
where
SELECT FLOPPY <number>
- a command which selects a floppy drive by the device number <number>,
SELECT FLOPPY <letter>
- a command which selects a floppy drive by the assigned letter <letter>,
OPTIONS <store options> {<store options>}
- a command which defines the restore options,
RESTORE
- starts the process of restoring the floppy disk data from the image file.
6.4.MBR backup/restore operations
MBR backup operation is designed to store the contents of Master Boot Record into an image file with the ability of further restoration. MBR backup command is compound. It includes the command of hard drive selection which MBR you want to backup, the command of definition of backup options and the command to store the MBR into the image file, which must be previously defined using the IMG command. MBR command has the following format:
SELECT MBR <disk specification> [OPTIONS <store options>
   {<store options>}] STORE
where
SELECT MBR <disk specification>
- a command which selects a hard drive which MBR is to be stored in the image file,
OPTIONS <store options> {<store options>}
- a command which defines the backup options,
STORE
- starts the process of storing the MBR data into the image file.
MBR restore command is designed to restore the contents of MBR from the image file. MBR restoration command is compound. It includes the command to select a hard drive which MBR is to be restored, the command of definition of restoration options and the command to restore MBR from the image file. The image file must be previously defined using the IMG command. MBR restoration command has the following format:
SELECT MBR <disk specification> [OPTIONS <restore options>
   {<restore options>}] RESTORE
where
SELECT MBR <disk specification>
- a command which selects a hard drive which MBR is to be restored from the image file,
- disk specification command, which MBR is to be restored from the image.
OPTIONS <restore options> {<restore options>}
                       - a command which defines the restore options,
RESTORE
- starts the process of restoring the MBR data from the image file.
6.5.First track backup/restore operations
First track backup operation is designed to store the contents of the first track an image file with the ability of further restoration. First track backup command is compound. It includes the command of the first track selection, the command of definition of backup options and the command to store the first track into the image file, which must be previously defined using the IMG command. First track command has the following format:
First track store operation is designed to save the contents of a first track in a disk image file with the further restoration ability. Store first track command is compound. It includes the first track selection command, storing options definition command and a command for storing the data into the image file, which must be previously defined using the IMG command. This command has the following format:
SELECT FIRST TRACK <disk specification> [OPTIONS <store options>
        {<store options>}] STORE
where
SELECT FIRST TRACK <disk specification>
- a command which selects a hard drive which first track is to be stored in the image file,
OPTIONS <store options> {<store options>}
- a command which defines the backup options,
STORE
- starts the process of storing the first track into the image file.
First track restore operation is designed to restore the contents of the first track from the image file. First track restoration command is compound. It includes the command to select the first track which is to be restored, the command of definition of restoration options and the command to restore the first track from the image file. The image file must be previously defined using the IMG command. This command has the following format:
SELECT FIRST TRACK <disk specification> [OPTIONS <restore options>
        {<restore options>}] RESTORE
where
SELECT FIRST TRACK <disk specification>
- a command which selects a hard drive which first track is to be restored from the image file,
OPTIONS <restore options> {<restore options>}
- a command which defines the restore options,
RESTORE
- starts the process of the first track restoration from the image file.
7.Network commands
Group of network commands includes:
-close network files command,
-check for network files presence command.
Each command in this group is described below.
7.1.Close network files command
This command is used for closing network files and has the following format:
CLOSE <close file> {; <close file>}
i.e. a command word CLOSE followed by a list of files to be closed separated by the ‘;’ symbol. Each file, marked as <close file>, is defined by one of the two ways listed:
</></><host></><path>
“//<filename>”.
7.2.Check for network files presence command
This command performs the required network files presence check. If the required file is not found during the check this command waits for the file to be available. This command has the following format:
PRESENCE <check file> {; <check file>}
i.e. a command word PRESENCE followed by a list of files to be tested, separated by the ‘;’ symbol. The way of definition of each file, marked as <check file> is similar to the way, used in <close file> command described above.
8.Appendix A. PSL keywords. Brief definitions
UNSELECT ALL - unselects all previously selected objects (disks and partitions).
OPTIONS - defines the beginning of the options group.
SELECT DRIVE or SELECT DISK - selects the HDD.
SELECT PARTITIONS ALL - selects all the partitions on the disk.
IMG - specifies the full name of the image file.
LABEL - specifies a volume label or an image file label for the partition.
CAS - defines a sector-by-sector copy mode, in which all data, including the deleted files is saved.
PWD - specifies the password.
MFS - defines the maximum image file size (in Kb). When it is exceeded the image is splitted into the appropriate number of files.
CMP - sets the image compression level.
SSO - stores system structures only.
STORE – start files backup process.
DELETE ALL - removes all data on the disk.
SELECT IMAGE ALL - selects images of all partitions in the image file.
RESTORE - starts the files restoration process. All data is restored into the selected free space.
SELECT PARTITION - selects the partition by number, letter or volume label.
SELECT PARTITION FIRST - selects the first partition on the disk.
SELECT PARTITION LAST - selects the last partition on the disk.
SELECT PARTITION EXTENDED - selects the extended partition on the disk.
SELECT PARTITION LARGEST - selects the largest partition on the disk.
SELECT PARTITION SMALLEST - selects the smallest partition on the disk.
SELECT PARTITION NEXT - selects the next partition on the disk.
SELECT PARTITION PREVIOUS - selects the previous partition on the disk.
SELECT PARTITION OFFSET - selects the partition on the disk by the offset parameter.
SELECT FREESPACE FIRST - selects the first free block on the disk.
SELECT FREESPACE LAST - selects the last free block on the disk.
SELECT FREESPACE LARGEST - selects the largest free block on the disk.
SELECT FREESPACE SMALLEST - selects the smallest free block on the disk.
SELECT FREESPACE - selects the free block on the disk by number.
SELECT FREESPACE OFFSET - selects the free block on the disk by offset.
SELECT IMAGE - selects the image in the image file.
RESIZE IMAGE NO - prohibits the size change for the selected image when running the RESTORE command.
RESIZE IMAGE PROPORTIONAL - specifies the proportional size change of the last selected image when running the RESTORE command.
RESIZE IMAGE - specifies the modification of the last selected image up to the specified size (in Kb) when running the RESTORE command.
RESIZE IMAGE MAX - specifies the modification of the last selected image up to the maximum available size when running the RESTORE command.
RESIZE IMAGE MOST SPACE - changes the partition size up to the maximum available size when running the RESTORE command.
SELECT FLOPPY - selects the FDD by name or by number.
SELECT MBR - selects the disk for MBR backup/restore operations.
SELECT FIRST TRACK - selects the disk for the first track backup/restore operations.
CREATE - creates a new partition and formats it (optionally).
FS - specifies the partition file system type.
SIZE - specifies the size in Kb.
POSITION - defines the position in the free space where a new partition is to be created.
BEGINNING - specifies that the partition created must be placed at the beginning of the free space.
END - specifies that the partition created must be placed at the end of the free space.
FORMAT - formats the selected partition.
CLUSTER - defines the number of sectors per cluster.
BOOT - defines the number of boot sectors.
ROOT - defines the number of elements in the root directory.
HIDE - hides the selected partition.
UNHIDE - unhides the selected partition.
SET ACTIVE - makes the selected partition bootable.
SET INACTIVE - makes the selected partition not bootable.
RESIZE - changes the size of the selected partition.
CLUSTERSIZE - sets the specified cluster size.
MAX - changes up to the maximum possible size.
MIN - changes down to the minimum possible size (defined by the amount of data stored).
RESIZE LARGER - increases the partition size by the value specified.
RESIZE LEFT BOUNDARY - changes the extended partition size by moving its left boundary.
RESIZE LEFT BOUNDARY LARGER - increases the extended partition size by the change of its left boundary.
RESIZE LEFT BOUNDARY SMALLER - decreases the extended partition size by the change of its left boundary.
RESIZE SMALLER - decreases the partition size by specifying the decrease value.
RESIZE SPACE AFTER - changes the partition size by specifying the amount of the free space to be left after the partition when the operation is finished.
RESIZE SPACE BEFORE - changes the partition size by specifying the amount of the free space to be left before the partition when the operation is finished.
CONVERT TO FAT - converts a FAT32 or NTFS partition into FAT.
CONVERT TO FAT32 - converts a FAT or NTFS partition into FAT32.
CONVERT TO HPFS - converts a FAT partition into HPFS.
CONVERT TO NTFS - converts a FAT partition into NTFS.
CONVERT TO PRIMARY - converts a logical partition into primary.
CONVERT TO LOGICAL - converts a primary partition into logical.
RESIZE ROOT - changes the number of the elements in the FAT partition root directory.
RESIZE BOOT - changes the number of boot sectors.
RESIZE CLUSTER - changes the number of sectors per cluster.
SETLABEL - changes the volume label of the selected partition.
DELETE - deletes the selected partition.
WIPE - wipes the partition using the mask and checks the result.
MASK - defines the wipe mask.
PASS - specifies the number of wipes.
PERCENTS - defines the object size for verification in percents (0-100).
CLEAR - fills the free space using the mask and checks for the result.
SET DRIVE READ ONLY MODE - sets or removes the disk write-protection. Write-protection does not work for free blocks.
PROTECT PARTITION FIRST - sets the first partition write-protection. Write-protection does not work for free blocks.
PROTECT PARTITION LAST - sets the last partition write-protection. Write-protection does not work for free blocks.
PROTECT PARTITION - sets the selected partition write-protection. Write-protection does not work for free blocks.
UNPROTECT PARTITION FIRST - removes the first partition write-protection.
UNPROTECT PARTITION LAST - removes the last partition write-protection.
UNPROTECT PARTITION - removes the selected partition write-protection.
MOVE LEFT - moves the selected partition to the left.
MOVE RIGHT - moves the selected partition to the right.
MOVE SPACE BEFORE - same as MOVE RIGHT.
MOVE SPACE AFTER - same as MOVE RIGHT.
COPY - copies one partition into another.
SELECT COPY DRIVE:
SELECT COPY DISK - selects the disk for a copy operation.
SELECT COPY PARTITION - selects the partition by number, letter or a volume label for a copy operation.
SELECT COPY PARTITION FIRST - selects the first partition as a target one for a copy operation.
SELECT COPY PARTITION LAST - selects the last partition as a target one for a copy operation.
SELECT COPY PARTITION EXTENDED - selects the extended partition as a target one for a copy operation.
SELECT COPY PARTITION LARGEST - selects the largest partition as a target one for a copy operation.
SELECT COPY PARTITION SMALLEST - selects the smallest partition as a target one for a copy operation.
SELECT COPY PARTITION NEXT - selects the next partition as a target one for a copy operation.
SELECT COPY PARTITION PREVIOUS - selects the previous partition as a target one for a copy operation.
SELECT COPY PARTITION OFFSET - selects the partition by offset as a target one for a copy operation.
SELECT COPY FREESPACE FIRST - selects the first free block as a target partition for a copy operation.
SELECT COPY FREESPACE LAST - selects the last free block as a target partition for a copy operation.
SELECT COPY FREESPACE LARGEST - selects the largest free block as a target partition for a copy operation.
SELECT COPY FREESPACE SMALLEST - selects the smallest free block as a target partition for a copy operation.
SELECT COPY FREESPACE OFFSET - selects the free block by offset as a target partition for a copy operation.
SELECT COPY FREESPACE - selects the free block by number as a target partition for a copy operation.
GOTO - jumps to the label.
PRINT - prints the message on the screen.
ASK - waits for the user to answer. If the user inputs ‘y’, ‘Y’ or Enter, this parameter is set to the ‘true’ value, otherwise – ‘false’.
SCO - checks the script syntax only.
EXEC FILE - runs the binary file.
CONFIRM - if the confirmation is turned off, default answers will be used. Otherwise, the user will be prompted to input the required answer.
FOR ALL DISKS - a loop, each iteration of which selects the next drive.
ENDFOR – is the end of the loop.
FOR ALL PARTITIONS - a loop, each iteration of which selects the next partition.
IF - a condition branching.
THEN - this branch is executed when the conditional expression takes on the ‘true’ value.
ENDIF – is the end of the ‘true’ branch.
ELSE - this branch is executed when the conditional expression takes on the ‘false’ value.
ENDELSE – is the end of the ‘true’ branch.
AND - conjunction.
OR - disjunction.
NOT - denial.
BOOT - returns ‘true’ if the partition is bootable, otherwise – ‘false’.
HIDDEN - returns ‘true’ if the partition is hidden, otherwise – ‘false’.
PRIMARY - returns ‘true’ if the partition is primary, otherwise – ‘false’.
EXTENDED - returns ‘true’ if the partition is extended, otherwise – ‘false’.
LOGICAL - returns ‘true’ if the partition is logical, otherwise – ‘false’.
FAT - returns ‘true’ if the partition has the FAT file-system, otherwise – ‘false’.
CURDISK - currently selected disk.
CURPARTITION - currently selected partition.
FIRST - the first partition on the disk.
LAST - the last partition on the disk.
EXTENDED - the extended partition on the disk.
LARGEST - the largest partition on the disk.
SMALLEST - the smallest partition on the disk.
SIZEDISK - returns the disk size (in Kb).
SIZEPARTITION - returns the partition size (in Kb).
SIZEFREE - returns the amount of the partition free space (in Kb).
SIZEUSED - returns the amount of the partition used space (in Kb).
FILESYSTEM - returns the partition file system type.
REBOOT - restarts the computer.
CLOSE - exit the component running.
PRESENCE - checks the presence of all clients in the multicast group or of standalone clients. Waits for this condition to be true.
TIME - if the current time is older than the specified and current script does not run, it returns ‘true’, otherwise – ‘false’.
CHECK - checks surface of the current partition.
ERRORCODE - returns the error code for the specified operation number. If the number is equal to 1, the operation returns the error code for the last operation, if 2 – the previous operation code, etc.
EXIST - returns ‘true’ if the drive or partition specified exists.
MOUNT - returns the path for the partition mounted, i.e. C:\ under DOS or /mnt/dos/ under LINUX.
VOLUMELABEL - returns the partition volume label.
APPLY - runs the specified number of virtual operations.
APPLY ALL - runs all of the virtual operations.
UNDO - undoes (rollback) the specified number of virtual operations.
UNDO ALL - undoes (rollback) all of the virtual operations.
AUTORESIZE - corrects the size of the target partition automatically to make it fill all the available space.
PARTN - specifies the partition by number.
PARTB - specifies the partition by boot offset.
UNKNOWN - returns ‘true’ if the file system is unknown, otherwise – ‘false’.
UNFORMATTED - returns ‘true’ if the partition is unformatted, otherwise – ‘false’.
ERRORNOEUSE - returns ‘true’ if there are any problem in the MBR->EPR structure, otherwise – ‘false’.
SET VARIABLE - assigns a variable name to the current partition. It does not work for free blocks.
SELECT PARTITION VARIABLE - selects a partition, using a variable assigned to it.
SELECT COPY PARTITION VARIABLE - selects a target partition, using a variable assigned to it.
PARAGON - selects a partition, using the Paragon magic number.
SELECT PARTITION PRIMARY - selects a primary partition by number.
SELECT PARTITION LOGICAL - selects a logical partition by number.
SELECT FREESPACE PRIMARY - selects a primary free block by number.
SELECT FREESPACE LOGICAL - selects a logical free block by number.
SELECT COPY PARTITION PRIMARY - selects a primary partition for a copy operation by number.
SELECT COPY PARTITION LOGICAL - selects a logical partition for a copy operation by number.
SELECT COPY FREESPACE PRIMARY - selects a primary free block for a copy operation by number.
SELECT COPY FREESPACE LOGICAL - selects a logical free block for a copy operation by number.
STRERROR - prints the error description.
EXIT - exits the program and returns the specified script exit code.
CALL - calls the procedure.
ENDCALL - returns the control after the point of this procedure call.
CBS - checks for bad sectors while running the operation.
RAV - specifies the number of passes for the write-verification.
COPYDISK - copies one disk onto another.
NO_FREESPACES - copies one disk onto another skipping the free blocks.
PROPORTIONAL - copies one disk onto another with the proportional size change up to the maximum / minimum / defined values if available.
SETTINGS - defines the beginning of the block of settings.
ENDSETTINGS - defines the end of the block of settings.
SURFACETEST - permits/prohibits the surface test.
VERIFY - permits/prohibits the data verification.
COPYONETOONE - permits/prohibits the sector-by-sector copy mode.
ALLOW64KCLUSTER - permits/prohibits the 64Kb cluster size for FAT file system.
DONOTHIDETARGET - permits/prohibits hiding target primary partitions.
COPYINSTEADOFMOVE - permits/prohibits copying instead of moving for adjacent blocks.
BIGDRIVES - turns on/off support for drives of big capacity.
COMPRESSIONLEVEL - defines the default compression level for backup operations.
SIDAFTERDISK - turns on/off the SID changer usage after the disk operations.
SIDAFTERPARTITION - turns on/off the SID changer usage after the partition operations.
DEFAULTSIDCHANGER - turns on/off the usage of default SID changer parameters.
NODELLABEL - turns on/off the user prompt of the volume label in case of partition deletion.
TIMESHIFT - defines the time offset in minutes.
OEMCODEPAGE - defines the default code page number.
TIMEZONE - defines the time zone code.
LANGNUMBER - defines the default language number for the current code page.
SLAVECFG - permits/prohibits the slave disk configuration update.
NOTFORSLAVE - permits/prohibits the slave disk layout refresh.
ENABLERESTART - permits/prohibits the system restart operation.
ENABLEVIRTUALDB - permits/prohibits virtual backup/restore operations.
AUTOCONVERTTOFAT32 - permits/prohibits the automatic transformation from FAT16 into FAT32.
SIDPARAMSLENGTH - defines the default length of the SID changer command line.
SIDPARAMS - defines the default SID changer command string.
9.Appendix B. Time Zones codes
Below is the complete list of the Time Zones codes.
0 – "(GMT-12:00) Eniwetok, Kwajalein"
1 - "(GMT-11:00) Midway Island, Samoa"
2 - "(GMT-10:00) Hawaii"
3 - "(GMT-09:00) Alaska"
4 - "(GMT-08:00) Pacific Time (US & Canada); Tijuana"
5 - "(GMT-07:00) Arizona"
6 - "(GMT-07:00) Mountain Time (US & Canada)"
7 - "(GMT-06:00) Central Time (US & Canada)"
8 - "(GMT-06:00) Mexico City, Tegucigalpa"
9 - "(GMT-06:00) Saskatchewan"
10 - "(GMT-05:00) Bogota, Lima"
11 - "(GMT-05:00) Eastern Time (US & Canada)"
12 - "(GMT-05:00) Indiana (East)"
13 - "(GMT-04:00) Atlantic Time (Canada)"
14 - "(GMT-04:00) Caracas, La Paz"
15 - "(GMT-03:30) Newfoundland"
16 - "(GMT-03:00) Brasilia"
17 - "(GMT-03:00) Buenos Aires, Georgetown"
18 - "(GMT-02:00) Mid-Atlantic"
19 - "(GMT-01:00) Azores, Cape Verde Is."
20 - "(GMT) Greenwich Mean Time; Dublin, Edinburgh, London, Lisbon"
21 - "(GMT) Monrovia, Casablanca"
22 - "(GMT+01:00) Berlin, Stockholm, Rome, Bern, Brussels, Vienna"
23 - "(GMT+01:00) Paris, Madrid, Amsterdam"
24 - "(GMT+01:00) Prague, Warsaw, Budapest"
25 - "(GMT+02:00) Athens, Helsinki, Istanbul"
26 - "(GMT+02:00) Cairo"
27 - "(GMT+02:00) Eastern Europe"
28 - "(GMT+02:00) Harare, Pretoria"
29 - "(GMT+02:00) Israel"
30 - "(GMT+03:00) Baghdad, Kuwait, Nairobi, Riyadh"
31 - "(GMT+03:00) Moscow, St. Petersburg, Kazan, Volgograd"
32 - "(GMT+03:30) Tehran"
33 - "(GMT+04:00) Abu Dhabi, Muscat, Tbilisi"
34 - "(GMT+04:30) Kabul"
35 - "(GMT+05:00) Islamabad, Karachi, Ekaterinburg, Tashkent"
36 - "(GMT+05:30) Bombay, Calcutta, Madras, New Delhi, Colombo"
37 - "(GMT+06:00) Almaty, Dhaka"
38 - "(GMT+07:00) Bangkok, Jakarta, Hanoi"
39 - "(GMT+08:00) Beijing, Chongqing, Urumqi"
40 - "(GMT+08:00) Hong Kong, Perth, Singapore, Taipei"
41 - "(GMT+09:00) Tokyo, Osaka, Sapporo, Seoul, Yakutsk"
42 - "(GMT+09:30) Adelaide"
43 - "(GMT+09:30) Darwin"
44 - "(GMT+10:00) Brisbane, Melbourne, Sydney"
45 - "(GMT+10:00) Guam, Port Moresby, Vladivostok"
46 - "(GMT+10:00) Hobart"
47 - "(GMT+11:00) Magadan, Solomon Is., New Caledonia"
48 - "(GMT+12:00) Fiji, Kamchatka, Marshall Is."
49 - "(GMT+12:00) Wellington, Auckland"
10.Appendix C. Operations results codes
Below is the list of the possible error codes:
0x00 - operation completed successfully;
0x01 - partition parameters exceed the disk limits;
0x02 - crosslinked partitions;
0x03 - not enough space available (unable to create a partition of the requested size);
0x04 - no free block is available to create a primary partition;
0x05 - invalid partition ID;
0x06 - an attempt to run an operation on the logical drive, suitable only for a primary partition;
0x07 - the extended partition is not found;
0x08 - failed to create a partition;
0x09 - an attempt to resize the extended partition out of the available limits;
0x0A - the extended partition already exists;
0x10 - FDISK structure is corrupted;
0x11 - invalid drive specification;
0x12 - no logical disk defined for this partition;
0x13 - unknown partition type (unsupported file system type);
0x14 - incorrect partition attributes – incompatible data of partition control blocks;
0x15 - incorrect cluster size (i.e. 0,>64 or not a degree of 2);
0x16 - not enough space for a new partition (unable to expand the partition up to the requested size);
0x17 - new cluster is too small - FAT16 disk contains more than 65525 clusters;
0x18 - file system error - file localization error (i.e. because of the crosslinked files). Run CHKDSK to fix it;
0x19 - not enough space in the new partition to place user data (if you try to decrease the partition containing data too much);
0x1A - not enough memory;
0x1B - file I/O error. It can occur when the restart data is saved/restored;
0x1C - partition parameters exceed the available limits;
0x1D - incorrect restart data – unable to run the restart operation due to the restart data incompatibility;
0x1E - boot area is too small (i.e. 0 in the ResSect field for FAT16 or less than 32 for FAT32);
0x1F - root directory size is too small - unable to save all records of the root directory or RootEnts < 16;
0x20 - bad boot area - disk is inaccessible;
0x21 - invalid directory structure - directory tree has errors. Run CHKDSK to fix it;
0x22 - internal error;
0x23 - failed to create/open file;
0x24 - not enough space to create an archive file;
0x25 - invalid archive file;
0x26 - not for the DEMO-version;
0x27 - invalid environment type;
0x28 - bad or missing “dbnet.ini” or “wattcp.cfg” file. Network is inaccessible;
0x29 - network initialization error. Network is inaccessible;
0x2A - either Boot Manager or EZ-Drive system is present. Unable to install Boot Manager Lite;
0x2B - estimated CD image-file size exceeds 640Mb;
0x2C - invalid volume label (in partition deletion or backup operation);
0x2D - incompatible disks for multicast;
0x2E - invalid script parameters;
0x2F - forbidden operation;
0x30 - invalid SID changer arguments;
0x31 - invalid size of the partition image;
0x32 - direct HDC access to the target partition is denied (for Win only);
0x33 - disk is too fragmented to apply the size change operation;
0x34 - attempt to run an operation on an unknown or ‘dead’ host;
0x35 - DOS client is not found;
0x36 - invalid password for decryption;
0x37 - installation error;
0x38 - trial period expired;
0x39 - partition is too small for FAT32;
0x3A - partition is too big for FAT16;
0x3B - unable to restore disk image as a partition;
0x3C - unable to restore partition image as a disk;
0x3D - UNC filename can be created on NT systems only;
0x3E - unable to create disk/partition backup on the same disk/partition;
0x3F - file/directory size is 4 GB;
0x40 - NTFS decompression error;
0x41 - invalid codepage file;
0x42 - incompatible version components;
0x90 - disk I/O error;
0x91 - operation is cancelled by user;
0x93 - invalid operation code;
0x94 - DPMI error;
0x95 - no scripts in DOS version;
0x96 - belt I/O error;
0x97 - error: drive is not ready;
0x98 - Win client is rebooting into DOS (Server has to wait);
0x99 - unable to block the target partition for Win DB – operation is allowed in DOS mode only (using the PIF);
0x9A - unable to block the target partition for Win DB – operation is allowed in DOS mode only (using the FBW);
0x9B - for Win DB (source): disk access sharing violation (try to restart in Win-mode or use PIF DOS-mode);
0x9C - for Win DB (source): disk access sharing violation (try to restart in Win-mode or use FBW DOS-mode);
0x9D - Switch script mode (DOS DB only);
0x9E - direct HDC-access to the source partition is denied (for WIN only);
0x9F - for Win DB: blocking target partition; the operation is applicable in DOS mode only (using PIF);
0xA0 - for Win DB: blocking target partition; the operation is applicable in DOS mode only (using FBW);
0xA1 - for Win DB (source): disk access sharing violation. Operation is impossible;
0xA2 - (internal) incompatible disks for copying;
0x1000 - stub manager already exists;
0x1001 - stub library has not been initialized;
0x1002 - previous virtual stub manager exists;
0x1003 - previous virtual stub manager exists;
0x1004 - next virtual stub manager exists;
0x1005 - next virtual stub manager exists;
0x1007 - operation is not associated with the StubMan specified;
0x1008 - disk is missing;
0x1009 - disk is missing;
0x100A - invalid function parameter;
0x100B - system reboot is required to complete the operation;
0x100C - search is completed;
0x100D - unable to restore the primary partition inside the extended one;
0x100E - archive cannot be saved;
0x2000 - unable to modify the protected partition;
0x2001 - missing the ‘restart.log’ file.

作者: wang6610    时间: 2006-4-17 21:40
标题: Partition Manager Script Language
读懂他可一作出新型的 onekey restore
作者: mepal    时间: 2006-5-9 10:54
标题: Partition Manager Script Language
天哪!谁能看懂这么长串串得咚咚,恐怖!

作者: willsion    时间: 2006-8-22 10:26
下一次我把一本英文小说也粘贴上来。
作者: 老毛桃    时间: 2006-8-22 10:40
的确是部天书,
作者: wang6610    时间: 2006-8-22 11:14
给看懂的人看的,大侠们不要见怪。

看的懂又不一定找得到!
作者: wjgyz740526    时间: 2006-8-22 15:25
原帖由 wang6610 于 2006-8-22 11:14 AM 发表
看的懂又不一定找得到!


找得到又不一定喜欢看:lol
作者: wang6610    时间: 2006-8-24 22:31
看见不愿看的东东多了,比如恐龙级的。。
作者: krell    时间: 2006-8-31 00:51
没发现怎么运行编写的PSL文档。偌大一个帮助文件居然没有提到……

难道是 Script.exe Name.psl 这样用吗?
DOS下能使用吗?有人使用过吗?

PS:Paragon Partition Manager Professional v8.0 刚刚出来啦!
作者: zhouaniu    时间: 2006-11-9 13:39
的确是天书,我也想看得懂,有人能解释一下吗?搞定可以自己搞一个一键还原
作者: sczxchen    时间: 2007-3-8 18:45
恐怖!
作者: lxl1638    时间: 2007-3-8 19:11
本人花了4小时,终于看完,也看懂了,不过是一个一个字母拆出来才看懂的。
作者: 沙漠之子    时间: 2007-3-9 15:15
原始pdf在这里:http://download.paragon-software.com/doc/script_man.pdf
作者: haiou327    时间: 2007-3-11 01:22
要看懂这个代码来制做一键还原.的确要花点时间.
作者: lintel    时间: 2007-3-12 20:44
呵呵,自动分区?我已经实现了....
作者: wang6610    时间: 2007-3-13 09:30
自己就可以制作一些例子脚本。

然后就容易了。
作者: amwdi    时间: 2011-4-2 21:05
例子只在结尾有一个太少了.
在partition manager启盘里找到一个scripts.exe能在DOS下运行,最新版里也有.




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3