Multi Commander > User Contributed Content

Work with a target path

(1/1)

pncdaspropagandas:
If you have to move/copy files from various places to a specific folder, or if you are going to do a lot of fractioned operations, here is some cool scripts:

Define a target folder/path:

--- Code: ---@var $target_path = GetSourcePath();
@var $target_path_temp_file = ".\\Config\\UserDefinedScripts\\File Ops\\target_path.txt";
SaveStringToFile($target_path_temp_file, $target_path, 0);
MessageBox("Target defined", $target_path, 0);

--- End code ---

Show a MessageBox with stored folder:

--- Code: ---@var $target_path_temp_file = ".\\Config\\UserDefinedScripts\\File Ops\\target_path.txt";
if( !(FileExists($target_path_temp_file)) )
{
MessageBox( "Show Target", "No target path defined yet.", 0);
break;
}
@var $target_path = LoadStringFromFile($target_path_temp_file);
MessageBox("Show Target", $target_path, 0);

--- End code ---

Go To target Folder:

--- Code: ---@var $target_path_temp_file = ".\\Config\\UserDefinedScripts\\File Ops\\target_path.txt";
if( !(FileExists($target_path_temp_file)) )
{
MessageBox( "Show Target", "No target path defined yet.", 0);
break;
}
@var $target_path = LoadStringFromFile($target_path_temp_file);
MC.Explorer.Goto SOURCE={$target_path}

--- End code ---

Copy Selected File/Folders to Target:

--- Code: ---//
//
// For some reason, when using USEEXISTINGQUEUE, it fails to OVERWRITE, so I always use NEWQUEUE
//
//

@var $target_path_temp_file = ".\\Config\\UserDefinedScripts\\File Ops\\target_path.txt";
if( !(FileExists($target_path_temp_file)) )
{
MessageBox( "Copy to Target", "No target path defined yet.", 0);
break;
}
@var $target_path = LoadStringFromFile($target_path_temp_file);

@var $arr_selected_items[] = GetSourceSelectedPaths();

@var $n;
@var $options = {"Overwrite", "Overwrite All", "Ignore", "Abort"};
@var $user_option = -2;
@var $n_file;
if( arrayCount($arr_selected_items) >= 1 )
{
for ($n=0; $n < arrayCount($arr_selected_items); $n++)
{
// Overwrite All
if( $user_option == 1 )
{
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
CopyFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
CopyFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//CopyFileMLR($target_path, $arr_selected_items[$n], $n);
}
else
{
$n_file = PathGetNamePart($arr_selected_items[$n], 0);
if( FileExists($target_path ^ $n_file) )
{
$user_option = AskOption('File/Folder "' + $n_file + '" already exists on target.', $options, 0);
if( $user_option == 0 )
{
// Overwrite
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
CopyFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
CopyFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//CopyFileMLR($target_path, $arr_selected_items[$n], $n);
}
else if( $user_option == 1 )
{
// Overwrite All
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
CopyFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
CopyFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//CopyFileMLR($target_path, $arr_selected_items[$n], $n);
}
else if( $user_option == 3 )
{
// Abort
$n = arrayCount($arr_selected_items) + 1;
}
}
else
{
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
CopyFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
CopyFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//CopyFileMLR($target_path, $arr_selected_items[$n], $n);
}
}
}
}

--- End code ---

Move File/Folders to Target:

--- Code: ---//
//
// For some reason, when using USEEXISTINGQUEUE, it fails to OVERWRITE, so I always use NEWQUEUE
//
//

@var $target_path_temp_file = ".\\Config\\UserDefinedScripts\\File Ops\\target_path.txt";
if( !(FileExists($target_path_temp_file)) )
{
MessageBox( "Copy to Target", "No target path defined yet.", 0);
break;
}
@var $target_path = LoadStringFromFile($target_path_temp_file);

@var $arr_selected_items[] = GetSourceSelectedPaths();

@var $n;
@var $options = {"Overwrite", "Overwrite All", "Ignore", "Abort"};
@var $user_option = -2;
@var $n_file;
if( arrayCount($arr_selected_items) >= 1 )
{
for ($n=0; $n < arrayCount($arr_selected_items); $n++)
{
// Overwrite All
if( $user_option == 1 )
{
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
MoveFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
MoveFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//MoveFileMLR($target_path, $arr_selected_items[$n], $n);
}
else
{
$n_file = PathGetNamePart($arr_selected_items[$n], 0);
if( FileExists($target_path ^ $n_file) )
{
$user_option = AskOption('File/Folder "' + $n_file + '" already exists on target.', $options, 0);
if( $user_option == 0 )
{
// Overwrite
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
MoveFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
MoveFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//MoveFileMLR($target_path, $arr_selected_items[$n], $n);
}
else if( $user_option == 1 )
{
// Overwrite All
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
MoveFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
MoveFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//MoveFileMLR($target_path, $arr_selected_items[$n], $n);
}
else if( $user_option == 3 )
{
// Abort
$n = arrayCount($arr_selected_items) + 1;
}
}
else
{
if ( IsFolder($arr_selected_items[$n]) )
{
// Add / to source path
MoveFile($target_path, $arr_selected_items[$n] + "\\", "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
else
{
MoveFile($target_path, $arr_selected_items[$n], "NODIALOG, NOPROGRESS, OVERWRITE_ALL, NEWQUEUE");
}
//MoveFileMLR($target_path, $arr_selected_items[$n], $n);
}
}
}
}

--- End code ---

Navigation

[0] Message Index

Go to full version