Skip to content

Instantly share code, notes, and snippets.

@xandeadx
Last active March 9, 2019 15:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xandeadx/6ca1b50235b93b4f9bbdfbbeaa7ccb33 to your computer and use it in GitHub Desktop.
Save xandeadx/6ca1b50235b93b4f9bbdfbbeaa7ccb33 to your computer and use it in GitHub Desktop.
Total Commander open siblings directory
<?php
$directory = $argv[1] ?? '';
$direction = $argv[2] ?? '';
if (!$directory || !in_array($direction, ['prev', 'next'])) {
exit('Invalid parameters');
}
$directory = rtrim($directory, DIRECTORY_SEPARATOR);
$parent_directory = dirname($directory);
$parent_directory_items = scandir($parent_directory);
$directories = [];
foreach ($parent_directory_items as $item) {
if ($item != '.' && $item != '..' && is_dir($parent_directory . DIRECTORY_SEPARATOR . $item)) {
$directories[] = $parent_directory . DIRECTORY_SEPARATOR . $item;
}
}
$directory_index = array_search($directory, $directories);
$sibling_directory_index = ($direction == 'next') ? $directory_index + 1 : $directory_index - 1;
$sibling_directory = isset($directories[$sibling_directory_index]) ? $directories[$sibling_directory_index] : '';
if ($sibling_directory) {
exec('"D:\Programs\System\Total Commander\TOTALCMD64.EXE" "' . $sibling_directory . '" /O /S');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment