You can use VP as a temporary place for files that should be copied to some other place. Also you can use it for organizing media libraries and for other needs. You can even set up some folder for collecting files from multiple folders on your PC.
VirtualPanel was created because none of previously existing analogs include all temporary panel features provided by TC.
If you have some suggestions not listed here, or some troubles, fell free to post it.

You may read about issues with file system and temporary panel plugins here. Also, dicsussion on Russian board is here.
Last version information
Version no: 2.0.7 32/64
URL: VirtualPanel at wincmd.ru / VirtualPanel at totalcmd.net
Requirements: operating system Windows 2000 and above, Total Commander

Features:
+ keeping links to files and folders, and virtual folders
+ saving VP state on exit TC or Windows, by timer or after each modification
+ import/export of whole contents or separate directories
+ import/export of usual filelists (like m3u)
+ correct copy/move operations processing
+ deleting real files when Shift key is down
+ logging file operations
+ internal commands for extra functions (execute ? command for help)
+ ability to execute command batches and create script files
+ autoexecuted scripts on load state or enter directory
+ support for executing scripts remotely
+ virtual explorer with drag-and-drop support
+ multi-threading support (background operations in TC 7.55 and later)
+ support for internal associations in TC 7.51 and later
+ support for standard cd command in TC
+ full Unicode support
General information:
File system may contain three general types of objects: virtual object (file or folder, have no real target), link to real object (file or folder, have real target) and real object (you see them when enter folder link). Virtual files may contain scripts, virtual folders are really useful for real links orderliness and sorting, you may create, rename/move or delete them. For links all usual operations are available - browse (for folders), open (Ctrl+Enter, Enter for folders), view, open properties, copy/move to normal panel or another real folder of VP, delete. When you delete link to real object, just link is deleted. If you want to remove also target, hold Shift to see confirmation message. When you delete real objects (inside of real folders), plugin will warn you always.
You may add links to your programs and data files like playlists, images or music or video files or whole folders, also you may execute any command line within plugin, and it will be executed as if it was executed in real folder that your current virtual path points to. If you are in virtual folder, only internal commands and open command are available (you may enter relative path of file/folder in virtual system or absolute - start it with '\' character or just use Ctrl+Shift+Enter).
When you copy files to VP, action depends on target folder type. If you try to copy files into virtual folder, files will be just added to virtual system. If you copy files to folder that has real target, files are copied to real folder. When you add real folder into virtual volder, TC creates virtual folder structure similar to structure of source folder and adds files to it. If you need just to add real folder as link to it w/o adding whole its structure, you should use internal command <add (currently TC doesn't allow to use another way).
Configuration file
By default, TC tells INI file path to plugin (since TC 5.51). But plugin (since VP 1.0.0.180) will use INI file with plugin's name in its folder (if file exists). If you have this file but don't want it to be used as configuration file, you may delete it.
Language files
You may add own translation for plugin messages. Language files should be placed into Language folder near plugin. You may use <lang command to switch language (plugin will save your choice in configuration file). Russian and English messages are embedded in plugin by default.
Internal commands:
Plugin has some internal commands that let to use some unsupported by TC FS plugins features such as adding/removing link to real folder and to setup some settings. Theese commands are started with '<' character. You may execute internal command "<?" (w/o quotes, of course) in command line when you're in plugin panel to see list of supported internal commands. Also you may open plugin properties to get some useful information like path to INI file, path to log file etc. If some parameters contain only one '?' character, they will be asked during script or command execution. If your path to real file contains braces, it must be double-quoted.
Log file and special icons:
By default, virtual folders have a bit brighter folder icon bordered with red. You may change this icon by editing INI parameter VirtualFolderIcon. You should specify path to file containg icon, and optional icon index after comma.
If you want to log operations within plugin, you may enable log file with internal command <log. You should edit INI parameter LogPath if you want to change path to log file or use command <log with path to a file. You may set log file size limit (since VP 1.0.0.416).
There are 4 groups of logged events that may be enabled/disabled by specifying corresponding mask: 1 - actions, 2 - status messages, 4 - attributes setting, 8 - find operations. To enable all events you may use -1 value as mask.
Links to physical files/folders that are inaccessible are displayed with special striked icons. You may redefine icons in INI.
Internal scripts:
You may execute scripts up to about 2048 characters long. Scripts may be executed via command line or from special script files. Such files must have '>' as first character of name. Script contains sequence of internal commands w/o separator, new command finds by '<' character. If you want to create script file, you must enclose each nested script with braces (nested blocks are possible). If file script ends with <<<path_to_icon_file>, file will have specified icon, also you may specify icon index after comma. Script example: <add "\>Create Save Item" { <add >Save { <silent <save ? <<C:\TOTALCMD\TOTALCMD.exe } } <<C:\Windows\System32\SHELL32.dll,12.
You may see script contents by F3 (in error message

Script files may be executed from any virtual folder (via relative or full path) - it will be treated as working folder for script. Also you may execute any script from command line, not only single command.
Plugin supports two events that may automatically execute scripts - loading state file (script file should be placed into root folder of state file and have name >Autoexec) and entering virtual folder (filename may be specified in INI file). Theese events may be used for refreshing folder contents on entering e.g.
Using attached tool VPBatch you may execute scripts from TC toolbar - e.g. to add folder link to VP.
Import/export state and autoloaded state:
Plugin lets to load and save contents of virtual system via corresponding internal commands, so you may have a lot of its states (even more, you may import/export separate folders). Also you may specify default file for virtual system state, this file will be used to save state on exit and to load it on plugin load. Latest VP versions allow to save state automatically on exit Windows or by timer. You may read more about internal commands few paragraphs above.
Unicode support:
Plugin was rewritten, all basic functions are converted to Unicode versions, and added ANSI stubs that will call base functions on older TC versions (since VP 1.0.0.300). State files are now saved in Unicode, but plugin may load state files and playlists in ANSI, UTF-8 or Unicode (encoding detected by BOM). If you want, you may also convert to Unicode configuration (be careful if it is used by other plugins) and language files.
Content fields information:
Plugin has no content fields, I don't see necessity in it. If you need to know real path to file/folder, you may use pair of standard TC fields [=tc.path][=tc.fullname] or [=ntlinks.Obj_RealPath] field of my plugin NTLinks (in this case path will be free from any reparse points, also this way allows to see scripts).You should switch file system to <General> to setup custom column configuration. You may use your favorite content plugins to get other fields for real objects within plugin - e.g. field [=tc.comment] to see comments for your favorite files.

Virtual Explorer:
Virtual Explorer allows to perform base operations with files - launching, renaming, deletion and drag-and-drop to external windows or another Virtual Explorer windows. You may see supported shortcut keys in Readme.txt file.
Here is a sample BAR file to use main VirtualPanel script features. First and second letter of hint shows active and inactive panel's kind ('V' - virtual panel, 'P' - normal panel).
Code: Select all
[Buttonbar]
Buttoncount=18
button1=WCMICONS.dll,3
cmd1=%COMMANDER_PATH%\Plugins\WFX\VirtualPanel\VPBatch.exe
param1=^explore .
menu1=V>V Virtual Explorer
button2=
iconic2=0
button3=WCMICONS.dll,65
cmd3=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param3=/c"Add as link to virtual panel" /t"%%${}Path%%\"%N /p"Add "%N" as:" "%%COMMANDER_PATH%%\Plugins\WFX\VirtualPanel\VPBatch.exe" ^add "%%1" %P%N
iconic3=0
menu3=P>V Add object to virtual panel...
button4=WCMICONS.dll,63
cmd4=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param4=/c"Move within virtual panel" /t"%T"%S1 /p"Move "%S1" to:" "%%COMMANDER_PATH%%\Plugins\WFX\VirtualPanel\VPBatch.exe" ^exec { ^move %S1 "%%1" }
iconic4=0
menu4=V>V Move object...
button5=WCMICONS.dll,64
cmd5=%COMMANDER_PATH%\Plugins\WFX\VirtualPanel\VPBatch.exe
param5=^ifok "Remove %%${}Path%%\"%S1" from virtual panel?" { ^del /rd %S1 }
iconic5=0
menu5=V>X Remove virtual panel object
button6=WCMICONS.dll,28
cmd6=%COMMANDER_PATH%\Plugins\WFX\VirtualPanel\VPBatch.exe
param6=^edit "%S1"
iconic6=0
menu6=V>V Edit target/script...
button7=
iconic7=0
button8=WCMICONS.dll,63
cmd8=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param8=/c"Move target object" /t%P%N /p"Move target for "%S1" to:" "%%COMMANDER_PATH%%\Plugins\WFX\VirtualPanel\VPBatch.exe" ^tgmove %S1 "%%1"
iconic8=0
menu8=V*P Move target object...
button9=WCMICONS.dll,32
cmd9=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param9=/c"Rename object with target" /t%S1 /p"Rename "%S1" with target to:" "%%COMMANDER_PATH%%\Plugins\WFX\VirtualPanel\VPBatch.exe" ^tgmove %S1 "%%1" ^move %S1 "%%1"
iconic9=0
menu9=V*P Rename object with target...
button10=
iconic10=0
button11=WCMICONS.dll,4
cmd11=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param11=/c"Loading state file" /t%P%N /p"Enter state file path:" "%%COMMANDER_PATH%%\Plugins\WFX\VirtualPanel\VPBatch.exe" ^load "%%1"
iconic11=0
menu11=P>V Load state file...
button12=WCMICONS.dll,76
cmd12=%COMMANDER_PATH%\Plugins\WFX\VirtualPanel\VPBatch.exe
param12=^ifok "Remove all contents of %%${}Path%%?" { ^del /rd "%%${}Path%%\*" }
iconic12=0
menu12=V>X Clear current folder...
button13=WCMICONS.dll,51
cmd13=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param13=/c"Loading state file into folder" /t%P%N /p"Enter state file path to add to %%${}Path%%:" "%%COMMANDER_PATH%%\Plugins\WFX\VirtualPanel\VPBatch.exe" ^load "%%1" .
iconic13=0
menu13=P>V Load state file contents to current folder...
button14=
iconic14=0
button15=WCMICONS.dll,50
cmd15=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param15=/c"Export file paths list" /t%P"%O".m3u /p"Path to list of MP3-files from %%${}Path%%:" "%%COMMANDER_PATH%%\Plugins\WFX\VirtualPanel\VPBatch.exe" ^export /a "%%1" . *.mp3
iconic15=0
menu15=P<V Create M3U-list with MP3-files from current virtual folder...
button16=
iconic16=0
button17=WCMICONS.dll,34
cmd17=%COMMANDER_PATH%\Plugins\WFX\VirtualPanel\VPBatch.exe
param17=^prop
iconic17=0
menu17=Preferences
button18=WCMICONS.dll,34
cmd18=%COMMANDER_PATH%\Plugins\WFX\VirtualPanel\VPBatch.exe
param18=^config
iconic18=0
menu18=Settings