|
Название | SameDir |
Имя файла (*.txt) | SameDir.txt |
Описание | Открывает текущую директорию, но на другом диске |
Автор | Вахмурка |
Параметры | "путь", "диск" |
Вызываемые плагины | file, win, miscplugin |
Иконка | зависит от диска |
Версия | 1.0 |
Дата обновления | 12.07.2010 |
args Path, Where local Source = Path[0, 2] local Len = length(Path) local Source, Target local Str, Dir, i static Disks = file.alldrives static Quote = esc(?+\"+, ?+\+) local Num = line(Disks, 0) flag set 1 for(i = 1; i <= Num; i++) Str = line(Disks, i) if(Str == Source) do flag clear 1 Dir = slice(Path, 3 - Len) break endif endfor if(pproflag(1)) do messagebox("ok error", "Current drive not found", "SameDir Script") quit endif local hwnd = win.handle("c=TTOTAL_CMD") local Exepath = win.exepath(hwnd) Str = ifelse(miscplugin.is_int(Where), line(Disks, i + Where), Where ++ ":\" ) ++ Dir if(not validpath(Str)) do messagebox("ok error", "Invalid path: " ++ Str, "SameDir Script") quit endif do(Exepath, "/O /S /L=" ++ Quote ++ Str ++ Quote)
Все просто: если текущим путем является c:\path, то скрипт осуществляет переход к пути d:\path, или f:\path, то есть к тому же пути, но на другом диске. Разумеется, если такой путь существует.
Первым параметром может быть "%P", "%T" или произвольный путь в явном виде. Второй параметр может принимать числовое или символьное значение. Число осуществляет абсолютный переход: отрицательное число - к предыдущему (по алфавиту), положительное - к следующему. Допустим, если текущий путь d:\dir1\dir2, то скрипт с параметрами ("%P", 2) сделает текущим путь f:\dir1\dir2. Или можно задать диск в явном виде, скажем, строка параметров ("%T", "g") сменит текущий путь на g:\dir1\dir2, если путь в панели-приемнике любой_диск:\dir1\dir2.
На главную | Все о Total Commander | PowerPro | PowerPro & Total Commander |