[-Contents-] [-Installation-] [-General Info-] [-Main Window-] [-Commands-] [-Menu-] [-Changes-]

# Predefined Commands

Behind each command is the name with which the specific command can be accessed with Filetypes and External Command definitions.
Please note that some of these names begin with '*!!' and not only with '*!' !

[A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [V] [W]

Internal Command | Command to use in External definition
Add Path to Drivelist | *!PathToDrivelist
Archive Requester / Extract | *!!Archive-Extract
Archive Requester / Add | *!!Archive-Add
Archive Requester / Test | *!!Archive-Test
Archive Requester / View | *!!Archive-View
Archive Requester / View .Diz | *!!Archive-ViewDIZ
ASCII Edit File | *!ASCIIEdit
ASCII File Filter | *!ASCIIFileFilter
ASCII Sort | *!ASCIISort
ASCII View File | *!ASCIIView
Associate Program | *!AssociateProgram
Batchselect | *!Batchselect
ByteCount | *!ByteCount
Bytes occupied on drive | *!BytesOccupied
Calculate CRC32/CRC32 Search | *!CalculateCRC32
Change Side | *!ChangeSide
Change Sort-Order | *!SortOrder
Clear Buffers | *!ClearBuffers
Clone selected files | *!Clone
Close List | *!CloseList
Compare and delete identic | *!!CompareDelete
Compare selected files | *!Compare
Convert uncompressed DMS to ADF | *!ConvertDMS2ADF
Convert ASCII download to bin | *!ConvertASCII2Bin
Convert FCD V1.0 Image to ISO | *!FCD2ISO
Convert ISO Image to FCD V1.0 | *!ISO2FCD
Copy as | *!!CopyAs
Copy selected files | *!Copy
Copy PCOpus main EXE-file | *!!CopyMainExe
Copy side | *!!CopySide
Copy to ISO | *!!CopyToISO
Copy with Systemcommand | *!!CopyWithSystemcommand
Create Link | *!CreateLink
De-Encode-Copy | *!DeEnCode
Delete quick | *!!DeleteQuick
Delete secure | *!!!DeleteSecure
Delete secure fast | *!!DeleteSecureFast
Delete selected files | *!Delete
Design Requester | *!DesignRequester
Display Dir in other Window | *!DisplayDirInOtherWindow
Enter Commandline | *!EnterCommandline
Explorerlike Tree | *!ExplorerlikeTree
External Command | -
Extract icons | *!ExtractIcons
Extract/Replace Bytes | *!ExtractReplace
File Info | *!FileInfo
Filter | *!Filter
Find first selected entry | *!FirstSelected
Find long names | *!FindLongNames
Find missing files | *!FindMissing
Goto Directory | *!GotoDir
Get compressed size/Recursive get compressed size | *!GetCompressedSize
Get Version | *!GetVersion
Handle with Windows 95 standard call | *!WinStandard
Hex Edit File | *!HexEdit
Hex View File | *!HexView
Hunt filepattern | *!HuntPattern
Invoke Archive Requester | *!Archive
Join files | *!Join
Load Configuration | *!LoadConfig
Load Language file | *!LoadLanguageFile
Log | *!Log
MakeDir | *!MakeDir
Maximize Window | *!WindowMax
Message | *!Message
Minimize Window | *!WindowMin
Move as | *!!MoveAs
Move selected files | *!Move
Move to bottom | *!DirBottom
Move to top | *!DirTop
Multi Copy | *!MultiCopy
Network connect | *!NetworkConnect
Network disconnect | *!NetworkDisconnect
New ASCII File | *!NewFile
Next Buffer | *!NextBuffer
Nullify files in ISO | *!NullifyFilesInISO
Open Drivewindow | *!OpenDrivewindow
Parent | *!Parent
Previous Buffer | *!PreviousBuffer
Properties | *!Properties
Put to Recycle-bin | *!Recycle
Quick Dez/Hex Conversion | *!DezHexConversion
Quick View | *!QuickView
Quit PCOpus | *!QuitPCOpus
ReDraw | *!ReDraw
Refresh Drive and Dir list | *!RefreshDriveDir
Relabel volume | *!Relabel
Rename selected files | *!Rename
Replace pattern | *!ReplacePattern
Requester | *!Requester
ReRead Directory | *!ReRead
Reselect | *!Reselect
Review results | *!Review
Root | *!Root
Save list output | *!SaveOutputList
Search | *!Search
Select Drive | *!DriveChange
Select files | *!Select
Select / All files | *!!Select-AllFiles
Select / No files | *!!Select-NoFiles
Select / Toggle files | *!!Select-ToggleFiles
Select / Select files | *!!Select-SelectFiles
Select / Missing files | *!!Select-MissingFiles
Set Attributes | *!Attributes
Set Option | *!Set
Show Pathlog window | *!ShowPathlogWindow
Simulate Double-Click | *!SimulateDoubleClick
Show Buffers | *!ShowBuffers
Speed test on Harddrive | *!SpeedTest
Split | *!Split
Tetris | *!Tetris
Touch | *!Touch
Tree | *!Tree
Virus Scan | *!VirusScan
Wait for WinStandard | *!WaitWinStandard

## Add Path to Drivelist

*!PathToDrivelist
Adds the current active directory to the drivelist for quick access. This commands accepts a name to use for this directory in the drivelist. You should define an external command with this setting: *!PathToDrivelist {aPlease enter a name for this directory}

## Archive Requester / Extract

*!!Archive-Extract
Enters archive-requester and starts extraction of the selected archives. Please note that all settings from the requester are used. This may lead to confusion if 'Force' is switched on, for example.
The 'Auto' switch is enabled temporarely, just to be on the safe side.
see Invoke Archive-Requester

## Archive Requester / Add

*!!Archive-Add
dito, just adds files to archives
see Invoke Archive-Requester

## Archive Requester / Test

*!!Archive-Test
same again, tests archives
see Invoke Archive-Requester

## Archive Requester / View

*!!Archive-View
one more time, just views archive contents
see Invoke Archive-Requester

## Archive Requester / View .Diz

*!!Archive-ViewDIZ
the last one, this one directly views the file_id.diz
see Invoke Archive-Requester

## ASCII Edit File

*!ASCIIEdit
Opens the first selected file with the program defined as ASCII Editor.

## ASCII File Filter

*!ASCIIFileFilter
filters a textfile (must have 0x0D (Carriage-Return) at end of line, 0x0A is not enough !) with a given filter. See Filter for details. The results are displayed in the standard list.
Since this command does not support AND selections (line must contain text1 AND text2), you can simulate an AND selection by defining a button like this:

          *!asciifilefilter text1
          *!closelist
          *!SaveOutputList testout.txt
          *!!Select-NoFiles
          *!!Select-SelectFiles testout.txt
          *!asciifilefilter text2
          *!Closelist
          *!saveoutputlist testout.txt

Of course you can make this fit your needs !

## ASCII Sort

*!ASCIISort
A selected file will be displayed sorted in the output list.
You can save the output with 'Save Output List.
This does only make sense if the file you selected is a plain ASCII file, of course. Due to internal restrictions all files larger than 30000 lines will get truncated. Sorry. This routine is not the fastest. Sorry again. Anyway, quite useful for not too big lists.

## ASCII View File

*!ASCIIView
Opens the first selected file with the program defined as ASCII Viewer.

## Associate Program

*!AssociateProgram
this command lets you set a new program that is called when this type of file is double-clicked under Windows or a 'Windows standard call' is used in PCOpus. The Windows standard requesters is opened with the first selected item as argument.

## Batchselect

*!Batchselect
this has been implemented on special request, and has been found useful at once. See Goto Directory for details on selecting files.
You may enter the name of a plain ASCII-file containing the files to be selected. The file must be located inside the PCOpus directory or the complete path must be given.
Useful to delete some useless adds from a directory where you extracted an archive to or to quickly select often copied files.

## ByteCount

*!ByteCount
This performs a bytecount on all selected directories.
After the operation is completed the size of the directory and all subdirectories is displayed in the directory window.

## Bytes occupied on drive

*!BytesOccupied
Displays the amount of diskspace used by the selected entries. It also displays the diskspace needed on the destination drive and it warns you if the selected entries would not fit.

## Calculate CRC32/CRC32 Search

*!CalculateCRC32, *!CRC32Search
Displays the CRC32 of the selected files just behind the date. Please note that this may take some time when large files are selected. The recursive version of this command (CRC32 Search) lets you search for several CRC's in all selected files and directories. You will be asked for the CRC's to serach for. Each CRC32 MUST have exactly 8 chars ! You may state several CRC's divided by comma, without any spaces (like ABCDEF00,1234ABCD,7b8839c1). If you click 'OK', the search starts and you will be notified if any (and which and where) of the CRC's was found. If you click 'ALL', you will not be informed directly, but a summary will be displayed at the end of the process.

## Change Side

*!ChangeSide
Toggles the active and inactive window. Can be achieved by pressing 'TAB', too.

## Change Sort-Order

*!SortOrder
brings up the sort-order window.

## Clear Buffers

*!ClearBuffers
Simply clears all buffers except the two displayed.

## Clone selected files

*!Clone
Makes a copy of the selected files with a new name in the current directory. You want to play around with your Autoexec.bat ? Select Autoexec.bat, click 'Clone', enter Autoexec.bak, press .

## Close List

*!CloseList
This simply closes the output list. Command is necessary because an open list practically halts PCOpus.

## Compare and delete identic

*!!CompareDelete
byte compares all selected files in the Source window to the corresponding files in the destination window. All files that are identic will be deleted from the source. Maybe useful to keep only differences to, say, a base directory.

## Compare selected files

*!Compare
byte compares all selected files in the Source window to the corresponding files in the destination window. The results can be viewed afterwards.
The compare function is sped up by a C-DLL programmed by Hander.

## Convert ASCII download to bin

*!ConvertASCII2Bin
Converts a file accidently downloaded as ASCII-text-file to binary. It helps if Netscape refuses to download bin files as binary. This function basically replaces all (0x0D 0x0A) with (0x0A). It is very slow. I do not think that you will need this often. Anyway, if you do, it is here.

## Convert uncompressed DMS to ADF

*!ConvertDMS2ADF
Converts an uncompressed DMS image to an ADF image. DMS are diskmasher files from Amiga, ADF are Amiga Disk File images as used by UAE, the Amiga Emulator. The DMS files must not be compressed (as already said) and must have the correct sequence of tracks, which is quite simple: from Track 0 to Track 79 ! Uncompressed DMS files are normally larger than 902760 bytes. Of course you need UAE and the Amiga program DMS to do complete conversion entirely on the PC. Please note that this command is quite helpful to convert a large number of files. Please note also that it is recommended to use DOpus on Amiga and batch-repack your compressed images to uncompressed ones. DOpus syntax is quite similar to PCOpus syntax (or vice versa :-))

## Convert FCD V1.0 Image to ISO

*!FCD2ISO
converts FastCD Personal Edition V1.0 CD Image files to ISO images Very useful if you have a FCD file and want to burn the image to CD again. FCD images are a quite convenient way to access CD images stored on your harddrive. Unfortunately FastCD does not support conversion to and from ISO images. So this is the solution.
You are asked to enter the new name. This name must not exist in the Destination. .ISO is added automatically if the name given does not end in .ISO. Make sure to have enough free room in your Destination.
Compressed FCD Images can not be converted correctly.
Sorry, these conversions are just a quick hack. I didn't know what to do this evening and was too lazy to browse WWW again :-)

## Convert ISO Image to FCD V1.0

*!ISO2FCD
see above, just vice versa.
Please note, that the original name of the CD should not contain spaces. I have not come across a CD name with spaces, but if I do, I will change the code to handle these as well.
.FCD is added if not given.
This command is quite useful if you want ot check out if your CD to be burned will work as you intent it to do.

## Copy as

*!!CopyAs
see Copy selected files.
A new name for every file can be given. This does not work recursively for directories of course.

## Copy selected files

*!Copy
copies all selected entries from Source to Destination. This includes directories and subdirectories as well.

- Any possible error should be handled by the program.
- Error handling of VB relies on a file 'VEN2232.OLB'.
- If an error occurs, this specific file will be skipped.
- If a file can not be copied correctly, the destination file will be deleted. This has a certain advantage: the files can be copied again (if the cause of the error is removed :-)) and all existing files can be skipped without the danger of skipping a file not correctly copied.
- If a file already exists in the destination you will be asked if the destination file should be deleted. You can answer:

             YES : destination file is removed
             NO  : file will be skipped
             ALL : all existing files will be replaced
             NONE: no existing file will be replaced
             CANCEL: cancels the operation completely

- If an error occurs you have the possibility to ignore all errors or cancel. If you choose to ignore all errors, the files that caused an error will be skipped.
- A special event is a read error. Since read errors can take a long time to be handled by the OS, read errors will only be ignored if stated. This means: Ignore all standard errors will not ignore read errors.
- If Keep defective files is activated, files get not deleted. After the copy-operation is complete and any problems have occured, you will be asked if you want to view the results. If you select YES, you will be able to look at a list which contains all files that are not copied correctly. This list will be closed when clicking on it. To review this list, a command Review Results exists.

## Copy PCOpus main EXE-file

*!!CopyMainExe
copies the main EXE-file and the PCOpus.dll (if present and wanted) from the currently active directory over your current EXE-file. Since this is impossible, we handle this in a slightly faked way: PCOpus will create a batch-file that wait for a keypress and does the job afterwards. PCOpus will quit immediately after the batch-file is created and started. Unfortunately, PCOpus can not be started again from this batch-file. Anyway, you no longer have to use the Explorer or other filemanagers to update the PCOpus-Exe.

## Copy side

*!!CopySide
copies the active side to the inactive side. The active side stays active.

## Copy to ISO

*!!CopyToISO
copies the first selected file (and only the first selected file) into an ISO image.
A valid ISO image must be displayed in the destination.
The file you want to copy into the imagefile must have a counterpart with the same name. The file inside the image will be replaced. The new size is not displayed at once. You will have to leave the directory and reenter it again to see the correct size.
This has some certain reason !
Well, indeed, this command is more of a replace. We can not recalculate the complete image-structure. For the same reason the file you copy into the image must either be shorter than the original or (perhaps) slightly longer. It can be some Bytes longer if it fits into the all-present 2048 Byte-Limit.
An example: The file you want to replace inside the image is 2100 Bytes long. The maximum length of a file you can copy into the image is 4096 Bytes (2*2048). If the file inside has 65536 Bytes, you can not copy longer files into the image, because 65536 is at the 2048 Byte-Limit.
WE ARE NOT RESPONSIBLE FOR ANY DAMAGE IN ANY ISO IMAGE YOU OR PCOPUS MIGHT PRODUCE. THERE SHOULD BE NO PROBLEM, BUT IF SOMETHING HAPPENS: YOU HAVE BEEN WARNED !

## Copy with Systemcommand

*!CopyWithSystemcommand
Sorry for the existence of this command. It is a workaround for the following problem: If you have a network with ReadOnly-Access, you can not copy files using the standard copy command. This is a bug in Visual Basic. It is impossible to open files on a remote drive if you do not have write access.
This command copy all selected files and dirs from Source to Destination. It does not check for anything and will report any error. It will also replace all existing files without warning. It was only implemented to circumvent the above mentioned problem.
It even has an advantage: it is a bit faster than the normal copy command since it does not have to check for anything.

## Create Link

*!CreateLink
creates a link to the first selected file (not dir) in your Programs folder. Needs VB5StKit.DLL which is included in the installation version of PCOpus.

## De-Encode-Copy

*!DeEnCode
This command is similar to Copy. All files and dirs are copied from soure to destination. But they are encrypted using the key given in Standard adjustments/Misc.
If a file is encoded two times with the same key, the file is in its original state again.
Since the key may be nearly any length you like and can not be found anywhere except in the PCOpus configuration it should be *QUITE* difficult to decode files.
I recommend to only encode packed files, this is the best way to make sure that no bytes are repeated inside the file. De/Encoding is very fast, you will nearly not notice any speed difference to copying files.

## Delete quick

*!!DeleteQuick
works nearly like Delete selected files
It will not build a list of files to delete before the operation starts, therefore this is much faster for huge numbers of files.

## Delete secure

*!!!DeleteSecure
see Delete selected files
Any file will be filled with 0-Bytes before deleting.
This will destroy any file completely ! Take care !

## Delete secure fast

*!!DeleteSecureFast
see Delete secure.
Only the first 32k of the file are filled with 0-Bytes. This is considerably faster when deleting long files, but not absolutely secure.

## Delete selected files

*!Delete
deletes all selected files. All directories and subdirectories will be deleted, too.

## Design Requester

*!DesignRequester
allows visual editing of Requesters. Select an existing Requester and call this command to get a new window where you can edit the Requester, like removing, adding, resizing controls and set the properties. Shift-Click left and move the mouse to move a control, Shift-Click right and move the mouse to resize the control (this does not work with ComboBoxes, though, since these controls do not have the necessary properties, move these by setting the values manually).
Please note: Only work on a copy of your Requesters unless you know exactly what you are doing since the program saves and reloads the requester at, at the first look, unusual moments !

## Display Dir in other Window

*!DisplayDirInOtherWindow
This displays the first selected directory in the inactive window.
This has only been implemented to allow the L-c-X clicks on directories (see Filetypes), but has come in handy for quick looks through certain subdirectories.

## Enter Commandline

*!EnterCommandline
lets you enter a commandline to execute. The active directory is used for the command.
If a '!' is given before the name, PCOpus uses the short DOS 8+3 Name for the DOS command parameter, due to compatibility reasons.
Example: You have an ARJ Archive with the name 'LONGNAMETEST.ARJ' and you enter 'arj v longnametest.arj', arj will not find the file 'longnametest.arj'. If you use 'arj v !longnametest.arj', ARJ will get the short name for 'longnametest.arj' (in most cases this will be 'longna~1.arj'). The '!' only works for files in the current *active* directory !!
If 'Pause' is on, the command that is executed will wait for a keypress after finishing.
If 'Wait' is on, PCOpus will wait for the command to finish.

## Explorerlike Tree

*!ExplorerlikeTree
This command activates an Explorerlike Tree. Well, it does not look as good as the original tree and is implemented with brute force. You need a fast computer to handle large dirs.
But it has even some advantages :-)

- You can include files in this tree-mode, just switch on the checkbutton just above 'Side-Copy' (</>). You can switch this on and off, just as you like !
- You can select files or dirs and open or close other branches.
- You can select files and dirs from ANY directory/subdirectory and copy them to the destination directory.
- You can use the drag and drop-feature. If moving files and dirs between the tree-branches, you will have to close and re-open the branch you moved to.

Use a combination of displayed files and displayed dirs to have very quick access to everything. Use an external command with '*!set IncludeFilesInTreeToggle=1' (or 0) and define a shortcut for this button to have quickest possible access to the switch.

## External Command

allows definition of external commands. See Configure Buttons

## Extract Icons

*!ExtractIcons
extracts all icons from the first selected file. The Icons will be saved in the destination with the name of the sourcefile plus a number (selecting 'moreicons.dll' would produce 'moreicons.dll_0.bmp', 'moreicons.dll_1.bmp' and so on. The routine will not overwrite existing files but will find the next free number for the name of the output file. If you need to extract the icons from more than one file, you can define a button (with 'Do all files' activated):

         *!!select-selectfiles {o}
         *!ExtractIcons

## Extract/Replace Bytes

*!ExtractReplace
this allows extraction or replacement of certain bytes in a file.
WARNING: Until you fully understand the background of this command and how exactly it works, I would recommend using only copies of important files ! You can easily destroy valuable data with this command !!
'Length' bytes will be copied to or from the destination file stated in the lower text-gadget, beginning at 'Start'. Use the '<' Buttons to change the the marked number (Start, Length or End). Use 'Source/Dest' to select a file to extract to or to replace from. Right of the text-gadget with the name of the file is a gadget with the length of this file in bytes or a smaller number. You can enter any value between 0 and the length of the file. Left of this gadget is a checkbutton. If this is checked, the 'Length' field will be ignored when replacing bytes and this number will be used.
'Cancel' cancels
'Insert' inserts the given amount of bytes from the 'Source/Dest' file to the selected file.
'Extract' copies the given amount of bytes from the selected file to the 'Source/Dest' file.
Of course the user is asked before commencing if he is sure.
Well, before you ask what I am talking about:
First: This command can be used as minimal Hex-Viewer if nothing else is available. As a MINIMAL Hex-Viewer ! Just be sure to use cancel.
Second: The idea behind all this:
Perhaps you stumbled across a file from which you wanted to use only a certain portion. Well, use this command and select the area you need. Then save it. Perhaps you have a BIG file that you want to change and you have no place for a backup copy. Just save the area around the bytes you want to change and change whatever you want. To restore the old file, just replace the changed bytes with the saved bytes.
If you did not understand anything of the above then just do not use this command. Quite simple !

## File Info

*!FileInfo
Displays some information on the first selected file or directory. It is possible to call this command with no file selected. This will give a summary of the current directory or drive.
The info should be quite self-explaining, except 'Program applied to:'. The first gadget displays the program or function that is applied to this type of file in PCOpus, the second one shows the program applied to this type under Windows.

## Filter

*!Filter
Filters the display of files. As long as no action took place on the filtered files, the filter itself can change. If a command was executed on the filtered entries you have to reread the directory if you need all files displayed.
A filter like this is possible:
*.exe *.dll !a*.dll !win386.swp *.txt !z*
This displays all files ending in .exe, .dll and .txt. All files ending in .dll and beginning with 'a' are not displayed. all files beginning with 'z' are not displayed. The file win386.swp (if it exists) is not displayed. To select all files use '*' and not '*.*' !!
As stated above: As long as no action is performed on the filtered files, the filter can be changed.
After rereading the directory, the filter is ignored.
The Filter-button can be defined with a 'hard-coded' filter, for example enter as name for the button
Filter Exe:*.exe *.bat *.com
Clicking on this button will use everything given behind the ':' as mask and directly filter the directory entries without further request.

## Find first selected entry

*!FirstSelected
Moves the directory display to the first entry selected.

## Find long names

*!FindLongNames
Searches all files and dirs for long filenames. All found files are displayed together with their short names. This is a very quick way to find out if a directory can be packed using ARJ for example.

## Find missing files

*!FindMissing
Searches the selected directories for files that are not present in the same directory in the inactive window.
For example: You have a Windows directory on drive C and one on drive F. Press 'Alt-F1' then 'C', 'Alt-F2' then 'F'. Select the directory 'Windows'. Click on 'Find missing' and wait. You will get a list that contains all files that are not present in the Windows directory in the destination window.

## Get compressed size/Recursive get compressed size

*!GetCompressedSize , *!RecursiveGetCompressedSize
These commands get the real size used on the disk on compressed drives on NT systems only. The non-recursive version displays the real sizes behind the filedate in the directory window, the recursive version works like Bytes occupied and may take some time, since each file has to be processed. A summary is displayed after the operation has finished.

## Get Version

*!GetVersion
This command displays the version of executables and DLLs inside the directory window behind the date. It does not work inside archives.

## Goto Directory

*!GotoDir
This allows the creation of buttons that will display a specific, predefined directory in the active window.
The coding of this was extremely simple, but the input of the directory wanted is a little complicated. Please enter the title of the button followed by a ':' and then the name of the directory, e.g. to display the Windows directory define the button like this:
Windows:C:\Windows
as name and Goto directory as command (of course).
My apologizes for this inconvenience.
When clicking on the button, PCOpus checks for the existence of the directory. If the directory does not exist, nothing happens.

## Handle with Windows 95 standard call

*!WinStandard
Executes the program assigned to this filetype in the Windows registry. For example selecting a .bmp file and clicking this button starts Paint and loads the .bmp file. At least if you still have Paint assigned to .bmp. It is the same as double clicking this file on the Windows desktop.
This can also be used to open a directory on the desktop, just select a directory and call this function to understand.
!This does not always work inside archives!
For compatibility reasons under WinNT, Windows standard call accepts the same syntax as GotoDir with the ':'.
It may be easier to define an external button with '*!WinStandard filename', though.
If you are calling a Winows program in an External command, it may be possible to suppress the opening of a DOS-Window if you state '*!WinStandard' before the path and filename of the program to be called. You have to activate 'VB Calls'. External calls are faster, if no DOS-Window has to be opened.

## Hex Edit File

*!HexEdit
Opens the first selected file with the program defined as Hex Editor.

## Hex View File

*!HexView
Opens the first selected file with the program defined as Hex Viewer.

## Hunt filepattern

*!HuntPattern
searches all directories and their subdirectories for a given pattern. All files matching the pattern can be viewed afterwards.

## Invoke Archive Requesterr

*!Archive
Invokes the Archive-Requester.

- ARJ, RAR, JAR, ACE, LHA/LZH and ZIP files are supported.
- WinRAR may be used instead of RAR.
- You can
  - extract archives
  - test archives
  - view archives
  - view the File_ID.DIZ if it is in the root of the archive.
    (it may be anywhere in LHA and ARJ files, does anybody know how to extract a single, specific file from a ZIP or RAR file ? It took me hours and I had to give up !! Well, a file from a subdir inside an archive, of course.)
  - add the selected files to an archive.
    If you have a file selected in the destination window, the name of the first file is displayed as archive name to add to. This way you do not have to enter a name like LX4_BRZL or something like this over and over again :-)
    The usual F-Key option is active here, too.
- There are some options on the left side of the window. You have the possibility to enter additional options if you need them. For a description of the switches, please consult the documentation of ARJ, LHA, ZIP, JAR, ACE or RAR.
  Options that affect the currently selected Archiver are black, options that do not affect the current Archiver are light green.
- Please take care that the archivers up to date only support DOS 8+3 names.
- The checkbuttons in the lower part of the window:
  - If you have archives like test.001, test.002 etc. and you are sure that these files are ARJ archives, for example, check 'Force'.
    Same with RAR, LHA, JAR, ACE and ZIP of course. Just make sure that the archiver to use is selected in the list right of the 'Force' check-button.
  - If you add files to an archive, an archive of the type displayed in the lower right drop down gadget is created.
  - If 'Keypr.' is checked, PCOpus will wait for a keypress to close the window after the operation is completed. You should leave this checked if you want to see if there were any errors.
  - If 'Wait' is checked, PCOpus will wait until the operation has finished.
  - If 'Auto' is activated, PCOpus checks for the archivetype itself. It also checks if the multiple volume switch is needed on view/list/extract. You should leave this on.
- If you have multiple ARJ or RAR volumes make sure that only the first of the volumes is selected in the directory window BEFORE you call the Archive-Requester to extract them. Make sure, that 'Multiple Volumes' is checked or 'Auto' is activated.
  If 'Multiple Volumes' is checked and you selected all files of the multiple volume set, PCOpus would extract all volumes beginning with the first selected, then extract all volumes beginning with the second selected and so. This is for sure not what you intended to do. Furtheron: In a multiple volume set consisting of test.arj, test.001, test.002 and so on would most likely be sorted in the directory window beginning with test.001, test.002 and so on. The LAST one would be test.arj (since 001<002<xxx<ARJ). So please select only test.arj and call the archive requester, select 'Multiple volumes'and extract.
- The archives will always be extracted to the Destination window.
- Make sure that either the paths to the executables are set correctly or the executables are in your path.

## Join files

*!Join
joins all selected files and files in selected directories to a single file. You are asked for the name of the destination file. This file is created in the Destination.
If the given file exists already you are asked if you want to join to this file. If yes, all selected files will be added to the existing file. If no, the file will be deleted. If you cancel, the operation will be aborted.
(Attention: I have come across a computer that denied displaying this requester and always added to the already existing file. I was unable to track this down, since the owner of the computer was not around. I believe that the Plus!Pack is the reason for this. If you are using the Plus!Pack take care.)

## Load Configuration

*!LoadConfig
This loads the selected file as a PCOpus configuration file.

## Load Language file

*!LoadLanguageFile
This loads the selected file as a PCOpus langauge file. The file itself must start with PCOpus Language File in the first line. If an error occurs during loading the standard english is used.

## Log

*!Log
This is an extremely simple command. It can only be used in external commands. All it does is writing a string to a file. Use it for logging some actions to files. You may, however, use this to flexibly construct remote-commands.
The syntax is a follows:
*!Log 0*!*X.\Path\File*!*Output text to create a new file (0), an existing file gets deleted. Or
*!Log 1*!*X.\Path\File*!*Output text to append to a file (1)
Except for the leading 0/1, you may at any point use any bracket ({f}, {o} ...)

## MakeDir

*!MakeDir
Creates a directory with the given name. It is also possible to create more than one directory. For example foo\bar\test\windows\joke is allowed. If you are creating more than one directory, you will not be told if a directory already exists.
It is possible to state the complete path of a directory to be created (like 'C:\Windows\Temp\Test'). This may be useful for requester-definitions.

## Maximize Window

*!WindowMax
Maximizes the window in height. To make the window as big as the screen, use the standard button in the upper right.

## Message

*!Message
Only useful in a batch process using external commands with internal commands. It just displays a little message and lets you cancel or proceed.

## Minimize Window

*!WindowMin
Minimizes the window in heigth. To bring PCOpus to the Windows Taskbar as Icon only, use the standard button in the upper right.

## Move as

*!!MoveAs"
see Copy as.
The files and directories are moved from Source to destination.

## Move selected files

*!Move
copies all selected files from Source to Destination and deletes them afterwards. Only files successfully copied will be deleted. It is safe to cancel anytime, no loss of data should occur. Of course all files successfully copied will remain in the destination.
If Rename to Move is activated: Please see Rename for further details about the requester that may be appear.

## Move to bottom

*!DirBottom
Moves the directory display to the last entry.

## Move to top

*!DirTop
Moves the directory display to the first entry.

## Multi Copy

*!MultiCopy
this demonstrates the power of the directory-buffering.
This command copies all selected entries in all buffers on the active side to the destination directory. You will get a summary before the operation starts.

## Network connect

*!NetworkConnect
brings up the Windows dialog to connect to harddrives on remote computers. The drive and dir list are updated.

## Network disconnect

*!NetworkDisconnect
dito, to disconnect.

## New ASCII File

*!NewFile
Lets you enter a new filename and opens the ASCII Editor.

## Next Buffer

*!NextBuffer
Displays the next buffer. The actual buffer is stored in memory.

## Nullify files in ISO

*!NullifyFilesInISO
This overwrites the contents of all selected files inside an ISO/FCD image with 0x00. Very useful if you have images containing large useless demos or movies that will only take unnecessary space when packing them.

## Open Drivewindow

*!OpenDrivewindow
This command opens a window that contains all available drives, physical or assigned. The position of the window and the open-state are saved with the configuration. The window can be minimized, moved or closed anytime. Clicking on a drive-button with the left mouse-button displays the drive in the left window, if you click on a button with the right mouse-button, the right window will be used.

## Parent

*!Parent
Displays the parent directory of the current path in the active directory window.

## Previous Buffer

*!PreviousBuffer
Displays the previous buffer. The actual buffer is stored in memory.

## Properties

*!Properties
Displays the standard Windows-property-dialog for the first selected file or directory. The entry is deselected.

## Put to Recycle-bin

*!Recycle
This calls the standard Windows dialog to delete files. All files and dirs are put to the recycle bin and handled by Windows as your system-settings say.

## Quick Dez/Hex Conversion

*!DezHexConversion
This is just a quick converter for decimal and hex values. It does not handle too big values. For those who need it.

## Quick View

*!QuickView
This command can be used to quickly view (how surprising !) a file. Useful only for Text files. A maximum of 5000 lines is read. No horizontal scrolling available, just a minimal ASCII-Viewer to view DIZes or short Readmes ! But quite helpful indeed.

## Quit PCOpus

*!QuitPCOpus
This command simply acts like clicking the 'Quit' button, so all adjustments inside PCOpus apply. It is useful as last command in an external command to let PCOpus quit immediately after calling the external program. This has been requested, so here it is.

## ReDraw

*!ReDraw
This command simply redraws the PCOpus window. Useful if fontsize or lineheight have been changed by the Set command.

## Refresh Drive and Dir list

*!RefreshDriveDir
Since a drive can be added by doing a 'Subst' when PCOpus is running, PCOpus will not recognize newly added drives. Use this command to refresh the Drive- and Dir-listbox.
This command does not reread the directory windows, as Menu Line/Refresh does.

## Relabel volume

*!Relabel
a new name for the drive in the active window can be entered. Sometimes this does not take effect at once. Perhaps use refresh. Anyway, after reboot the new name is available.

## Rename selected files

*!Rename
renames all selected files. Either you can give each selected file a new name or you can use one wildcard ('*'). The explanation could be a bit complicated, so let me give you an example:
Rename from: *.jpg
Rename to : *.pic
renames all files selected and ending in .jpg to filenames ending in .pic. If files not ending in .jpg are selected, they are not affected by this action.
Rename to pic.* or foo*.bar and so on is possible, too.
If you want to rename an entry to a name that already exists you are asked if you want to replace the file. You can also enter a new name for this entry.
OK: Replace an existing file
ALL: Replace all existing files. No new names may be entered from now on
Cancel: Aborts the operation
No: File will be skipped.
Attention: The possibility to give the file a new name is a nice but very dangerous option. If you click 'OK' or 'ALL' the file with the now given name will be replaced without further request.
Note: For safety reasons directories can not be replaced.

## Replace pattern

*!ReplacePattern
replaces chars or patterns of chars in the name of all selected files and dirs. Very helpful if you want to avoid spaces in names, because your local Unix system does not support them. To achieve this, you would use this command: '*!ReplacePattern " "*!*_' as external command. Please note, that the space is enclosed in '"' ! You may of course replace any pattern, not only single chars. Please do not use wildcards in the patterns or the command will fail !

## Requester

*!Requester
This command allows the use of a user-defined requester.
You should only use this in external commands, otherwise the useability is quite limited. This command supports the well known possibility to use a ':' after the button name to state a requestername directly ('Testrequester:c:\opus\example.req')
After *!Requester a name must be given, for example:
*!Requester demo.req
demo.req is first searched in the current active directory then in the PCOpus directory.
You may also use a complete path for the requester:
*!Requester c:\opus\demo.req
Requesterdefinition is quite simple. It is done via an ASCII file. Please see Example.req for details.
All text gadgets in a requester support the (Shift)+F1/F2 as described in Standard Requester
This command supports the assigned names of drives and dirs.
It is possible to define internal commands in an external requester. Well, I know it is getting complicated now ... an example: you can define as function for a button:
*!filter *.exe *.com
When this button is pressed (inside the requester), the internal function Filter is called with '*.exe *.com' as argument. This allows the definition of requesters containing some seldom needed, but internal, commands, thus saving space (and giving more oversight) in the button bank.

## ReRead Directory

*!ReRead
Rereads the active directory.

## Reselect

*!Reselect
After a command is completed and there were no errors all selected files are deselected. Click this button to select all files that were selected before the previous command was executed. It is possible to re-select the files that were selected in the source window in the destination window.

## Review results

*!Review
displays the last displayed list again. Useful if you deny using pen and paper to write down the results of an operation. The 'V' button between the windows does the same.

## Root

*!Root
Displays the root directory of the current drive. The 'R'-Button near the Path-gagdgets does the same.

## Save list output

*!SaveOutputList
does exactly this: it just saves the output list to disk. To get a complete directory listing you could simply select Hunt pattern with '*' and save the output.

## Search

*!Search

- Searches a given pattern in all selected files and directories with their subdirectories. Search can search for ASCII or Hex codes.
- Even if it sounds unlogical Ignore Case and Wildcards affects Hex search, too. If Wildcards is checked and Hex search is activated all 2A values are wildcards. 2A is the ASCII code of '*'. If you want to search for '*' with wildcards enabled you will have to enter '**'. This is pretty much standard anyway. The max distance covered by a wildcard can be set anywhere between 1 and 500 using the 'Max.Dist.' gadget.
- The maximum number of values to search for is 99 including the wildcards. This should be enough in most cases.
- If the pattern was found, you will be asked if the search should be continued to find all occurences.
- After the operation is complete, you can view a list containing the results of the search. All files containing the pattern will be displayed along with the position in the file in dec and hex.
- If you are using Wildcards, please make sure that enough values are stated, especially in Hex-Search. Otherwise you would find too much occurences in most cases.
- A Wildcard covers 0 to 'Max.Dist.' occurences of bytes not matching the next given value.
- Activating the 'UniCode'-Checkbutton will add Zeros (0x00) between the chars. This allows easy searching for UniCode-strings.

## Select Drive

*!DriveChange
Brings up a window containing all available drives and the directories the user prefers. You can select the drives by just pressing the first letter. Close the window by pressing 'Escape' or by double-clicking ON the window NEXT to a button (quite a small edge to hit), or by clicking with the right button inside the requester. Of course, the drives can by used by clicking on them with the mouse or by moving the cursor and pressing 'Return'. This window can be brought up with 'Alt-F1' for the left window and 'Alt-F2' for the right window. This is for you DCC users.

## Select files

*!Select
pops up another window with the following commands:
ALL: selects all files in the active window
NONE: deselects all files
TOGGLE: selects all not selected files and deselects all selected
SELECT: you can enter a wildcardpattern to select files. Since we are operating on long filenames mostly, selecting all files can only be accomplished by stating '*' ! You can use '<' or '>' to select files by size. No directories can be selected this way. To select all files that are larger than 30000 Bytes or smaller than 1000 Bytes, enter: '>30000 <1000'
SELECT MISSING: This option selects all files in the Source window that are not present in the Destination.

## Select / All files

*!!Select-AllFiles
Calls the select-requester and selects all files, see Select files

## Select / No files

*!!Select-NoFiles
dito, no files, see Select files

## Select / Toggle files

*!!Select-ToggleFiles
dito, toggles files, see Select files

## Select / Select files

*!!Select-SelectFiles
dito, lets you select files by pattern, see Select files

## Select / Missing files

*!!Select-MissingFiles
dito, selects missing files, see Select files

## Set Attributes

*!Attributes
sets the attributes of all selected files and directories.
If you selected a directory you will be asked if all files in the directory and its subdirectories should be affected, too.
A little window will pop up where you can state what should be done with the archive flags. Set means set, Clear means clear and Ignore means ignore the flags. Click on Set/Clear/Ignore to change.

## Set Option

*!Set
This command has been implemented to have better control over the settings of PCOpus from within external commands. It accepts the ':' syntax like Goto Directory .
But the main intention for this command was the temporary changing of options inside external commands. Use it like this:
*!Set Archive Keypress = 0
to disable the need to press a key after operation on an archive has finished.
The option to set is case and space insensitive, this means '*!Set Archive Keypress=1' is the same as '*!SETARCHIVEKEYPRESS=1'. The value to set the option to is case-insensitive, this means '*!Set Sortorder=Dirs first' does not work, '*!Set Sortorder=Dirsfirst' does.
These options can be set:

- Global settings
  - WATCHBUTTON
    sets the number of the button to watch (a string !!!)
  - WATCHBUTTONENABLE
    enables (1) or disables (0) watching
  - FILTER
    activates (1) or deactivates (0) filename-filtering
  - FILTERPATTERN
    sets a new pattern. See Filter for details about the allowed patterns. It only takes effect on the current directory if the directory is read again. Additional Filters can be added by using a leading '+' (FilterPattern=+more filters)
  - SIDE
    allows absolute setting of active side, 0 for left side, 1 for right side
  - WINDOWSTATE
    Sets the state of the main window to MAX, MIN or NORMAL.
  - DIVIDERPERCENT
    Sets the percent of the right directory-window relative to the complete width, values from -32 to 32 are accepted
  - XPOS
    Sets the X-Position of the main window, value in pixels
  - YPOS
    Sets the Y-Position of the main window, value in pixels
  - XSIZE
    Sets the width of the main window, value is in pixels
  - YSIZE
    Set the heigth of the main window, value is in pixels
  - REDRAW
    given value is ignored, MUST be used after setting of one or more of XPOS, YPOS, XSIZE, YSIZE, WINDOWSTATE, DIVIDERPERCENT to redraw the window correctly.
  - COUNTERINIT
    Initializes the internal counter. This counter can be accessed in external commands, making it possible to define, for example, a rename command like this: rename {ou} {c+}{e}{o}. The length of the given value is used, too.
    For example: '*!Set CounterInit=0005' sets the current value of the counter to 5 and the minimal length of a number to 4 chars. As result the above shown rename command would produce filenames like this: '0005.jpg', '0006.gif', '0007.jpg' and so on. The best way to set the countervalues is by defining a little requester.
  - COUNTERINCREMENT
    The value that is added/subtracted from the current value of the internal counter when {c+} or {c-} is used in an external command
  - DISPLAYWIDTH0, DISPLAYWIDTH1
    (Displaywidth of filename) value is in chars, 0 for left, 1 for right window
  - INCLUDEFILESINTREETOGGLE
    Toggles the inclusion of files in the Explorerlike Treemode.
- see Standard Adjustments/Misc 2 for details, OPTION=0 means inactive, OPTION=1 means active, exactly like the checkboxes in Standard adjustments
  - FOLLOWKEYPRESS
    (Keypress moves Directorydisplay)
  - KEYLINETOCLICK
    (Cursor follows click)
  - USEDOS83NAMES
    (Use DOS 8+3 Names)
  - DISABLEDIRECTORYBUFFERING
    (Disable Directorybuffering)
  - USESHIFTFORMULTISELECT
    (Allow SHIFT for multisel.)
  - TIMERDISABLED
    (Disable Timer)
  - RENAMETOMOVE
    (Rename to move)
  - REREADALWAYS
    (ReRead always)
  - ALWAYSIGNOREREADONLY
    (Ignore 'Read-Only' flags)
  - REREADIFSAME
    (ReRead if same)
  - KEEPDEFECTIVEFILES
    (Keep defective files)
  - PARENTFROMROOTSHOWSDRIVES
    (Parent from Root shows Drives)
  - SAVEWINDOWPOSITION
    (Save Windowposition)
  - STICKATPOSONREREAD
    (Stick at position on Reread)
  - EXITATONCE
    (Exit at once)
  - DELETENOTEMPTYDIRS
    (Delete non empty directories)
  - REPLACEALL
    (Replace all files on copy)
  - AUTOSENSENAMELENGTH
    (Autosense Filename length)
  - DIRECTDRAGDROP
    (Handle dropped files directly)
  - AUTONOTIFICATION
    (Auto Notification)
  - REREADDRIVENAMES
    (Reread drivenames)
  - DIRECTEXTRACT
    ('Copy' extracts files directly)
  - ENTERINVALIDARCHIVES
    (Enter invalid archives)
  - KEEPEXTRACTED
    (Keep extracted files)
  - ALLOWPICTURES
    (Allow Pictures in Buttons)
  - NOTOOLTIPSINDIRWINDOW
    (No Tooltips in Dir-Window)
  - SETAFLAG
    (Set 'A'-flag on copied files)
  - DISABLECONTENTCHECK
    (Disable Content-check when displaying)
  - ENABLEKSEPARATORS
    (Enable k separators in Dir window)
  - AUTOADJUSTDISPLAYWIDTH
    (Autoadjust displaywidth of filenames)
  - ALLOWWRITEACCESSONCD
    (Allow write access on CD)
  - USETRAYWHENMINIMIZED
    (Use Tray when minimized)
  - DONOTSETNEWSIZEONCOPYTOISO
    (CopyToISO: Do not set new filesize)
  - HIDESYSTEMFILES
    (Hide System and Hidden files in dir-display)
  - AUTOISOOFFSETCALCULATION
    (Use automatic ISO-Offset calculation)
  - SHOWDYNAMICRATE
    (Display average data rate for the last 10MB during copy)
  - TESTMODE
- see Standard adjustments/Archive for details, OPTION=0 means inactive, OPTION=1 means active
  - USEPARENTINARCHIVES
    (Parent only in Archives)
  - STAYINARCHIVEREQUESTER
    (Stay in Archive Requester)
  - ARCHIVEAUTOCHECK
    (Archivet. auto check)
  - USEWINRARFORZIP
    (Use WinRAR (for ZIP))
  - ARCHIVEPATHARJ
    (Path to ARJ)
    Please state path explicitely, no 0 or 1
  - ARCHIVEPATHZIP
    (Path to PKZIP)
    Please state path explicitely, no 0 or 1
  - ARCHIVEPATHUNZIP
    (Path to PKUNZIP)
    Please state path explicitely, no 0 or 1
  - ARCHIVEPATHLHA
    (Path to LHA)
    Please state path explicitely, no 0 or 1
  - ARCHIVEPATHRAR
    (Path to RAR)
    Please state path explicitely, no 0 or 1
  - ARCHIVEPATHJAR
    (Path to JAR)
    Please state path explicitely, no 0 or 1
  - ARCHIVEPATHACE
    (Path to ACE)
    Please state path explicitely, no 0 or 1
  - ARCHIVER
    (Archiver to use)
    Please state one of these: ARJ, LHA, JAR, ACE, ZIP, RAR
- see Standard adjustments/Colors for details, OPTION=0 means inactive, OPTION=1 means active
  - USEFILETYPECOLOR
    (Use Filetype-color)
- see Invoke Archive-Requester for details, OPTION=0 means inactive, OPTION=1 means active
  - ARCHIVEKEYPRESS
    (Keypr.)
  - ARCHIVEFORCE
    (Force)
  - ARCHIVEWAIT
    (Wait)
- see Main Window for details
  - SORT
    (Sort)
    Set option to
    - NAME
      Sort by name
    - SIZE
      Sort by size
    - DATE
      Sort by date
    - EXTENSION
      Sort by extension
    - NOSORT
      Do not sort
  - SORTORDER
    (Sort)
    - MIX
      Mix files and directories
    - DIRSFIRST
      Display directories first
    - FILESFIRST
      Display files first
  - FONTSIZE
    Fontsize of directory windows
  - LINEHEIGHT
    Height of a line in the directory window

## Show Pathlog window

*!ShowPathlogWindow
This command command opens a window that will stay open. All visited pathes from both sides are added to this list and may be accessed freely and quickly. The list gets deleted when the window is closed. The window can be resized freely.

## Simulate Double-Click

*!SimulateDoubleClick
This command simulates a double-click on the first selected entry. This command has been implemented for one single purpose (you may find other useful things to do with it, though): Extracting from many different archives to a single destination directory using the DLLs. The command we had in mind is the following:

         *!Set DirectExtract=1
         *!SimulateDoubleClick {o}
         *!!Select-AllFiles
         *!Copy
         *!Parent
         *!Set DirectExtract=1

('Do all files' should be activated)
*!SimulateDoubleClick accepts a filename (NO PATH) as argument, as you can see. If no argument is given, the first selected entry is used and deselected afterwards.

## Show Buffers

*!ShowBuffers
Shows all currently available buffers in the list-output. You may select any.

## Speed test on Harddrive

*!SpeedTest
This command simply checks the raw speed of your harddrive. You must have 50.000.000 Bytes free to use this command. PCOpus will write 5 times 50.000.000 bytes and afterwards read 5 times 50.000.000 bytes. The time needed and the average rate per second will be displayed afterwards. The values are of a more practical nature than standard speed-tests, since the file-system is used and the fragmentation of the hard-drive comes in effect.

## Split

*!Split
Splits the selected file to many small files. This is well known, for sure. Enter the size of the files in the upper gadget and the basename in the lower. You may enter 1440k or 1M but NOT 1.44M, i.e. the '.' is not supported.

## Tetris

*!Tetris
allows you to play a little game of Tetris. I advise you to use a larger font to play for a longer time.
Use the arrow-keys and 'k' and 'l' to move and turn the pieces.
It is possible to play Tetris while copying files ! Enjoy !
All commands are disabled during the game, 'ESC' or 'Game Over' exits.

## Touch

*!Touch
allows you to set a new datestamp on all selected files

## Tree

*!Tree
Displays the directory-tree structure of the current directory. All entries can be used as normal dirs, can be copied, entered, etc. The tree-mode can be called from any directory.

## Virus Scan

*!VirusScan
Invokes the program defined as Virus Scanner with the active directory as commandline option.

## Wait for WinStandard

*!WaitWinStandard
This command acts exactly like WinStandard Call except that it waits until the called process is finished. It has been implemented to be able to define an external command like this:

    *!set ArchiveKeypress=0
    *!!select-nofiles
    *!!select-selectfiles {ou}
    *!WaitWinStandard winrar.exe -y -m5 -mdE -o+ -r a {d}\{ne}{ou} {o}
    *!set ArchiveKeypress=1

This adds all selected files/dirs to single archives using WinRAR. Since WinRAR detaches from the calling process, the result without this command would be x times WinRAR running simultaneously. Now each entry is compressed while only one WinRAR is running. You may find other useful things to do ...

Some of these commands may appear quite useless. Move to top for example. But by defining these commands in the Configure Buttons window you may apply a shortcut to these commands. A shortcut of your liking. Or more than one shortcut for the same command. I wanted to let the user have as much freedom as he desires.
You CAN change or add something but you do not have to.
You may cancel most time consuming functions by pressing 'Shift-ESC'.

[-Contents-] [-Installation-] [-General Info-] [-Main Window-] [-Commands-] [-Menu-] [-Changes-]