Меню Запуск - переименование файла на сетевом диске

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
LA_
Сообщения: 31
Зарегистрирован: Чт дек 07, 2006 09:21

Меню Запуск - переименование файла на сетевом диске

Сообщение LA_ »

Подскажите, плз, как добавить в меню Запуск команду для переименования выделенного файла, который находится на сетевом диске, в cover.jpg?

Пытался сделать так -

Код: Выделить всё

Команда: ren
Параметры: "%p%n" cover.jpg
Путь запуска: (пусто)
Выдает сообщение, что файл не найден (на локальном диске, кстати, та же ошибка). Пробовал в путь запуска добавлять %p, в параметры - слеш между %p и %n - не помогает.

Просто в командной строке что-то типа:

Код: Выделить всё

C:\Windows>ren "\\nas\music\_Саундтреки\2002 - Бригада\01.jpg" "cover.jpg"
срабатывает корректно.
Но при старте выдается сообщение:
"\\nas\music\_Саундтреки\2002 - Бригада"
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows.
Microsoft Windows [Version 6.1.7601]
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

а чем не устраивает "cm_RenMov" вместо "ren"?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Mellomann,
Отсутствием поддержки параметров.


LA_,
ren - это команда командного интерпретатора, а не независимая программа. С кнопки нужно запускать её через командный интерпретатор cmd.exe:

Код: Выделить всё

Команда: %SystemRoot%\System32\cmd.exe
Параметры: /c ren %P%N cover.jpg
Путь запуска: %SystemRoot%
Путь запуска нужно указывать абсолютно любой локальный, чтобы cmd.exe не ругался, что его запустили с сетевого пути.
LA_
Сообщения: 31
Зарегистрирован: Чт дек 07, 2006 09:21

Сообщение LA_ »

Да, было у меня подозрение, что проблема с ren.

Спасибо!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV
Путь запуска можно вообще не указывать, и в поле "Команда" лучше писать %comspec% .
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):MVV
Путь запуска можно вообще не указывать, и в поле "Команда" лучше писать %comspec% .
Путь запуска указывать обязательно (я об этом говорил), иначе тотал будет текущий путь в панели использовать как путь запуска, и при запуске из сетевой папки командный интерпретатор будет ругаться, что не поддерживает UNC-пути (за примером фразы дальше первого поста темы ходить не надо). А про %comspec% - да, можно.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):я об этом говорил
Ты говорил
MVV писал(а):Путь запуска нужно указывать абсолютно любой локальный
MVV писал(а):иначе тотал будет текущий путь в панели использовать как путь запуска
Тотал - не будет, если уже указан путь в поле "Команда". А он указан в %comspec%.
Да и потом, cover.jpg откуда должен читаться, кроме как не из активной панели :?:
MVV писал(а):А про %comspec% - да, можно
Не просто "можно", а рекомендуется. Мало ли, где там ещё cmd окажется.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Flasher писал(а):Тотал - не будет, если уже указан путь в поле "Команда". А он указан в %comspec%.
Это не так. Даже если в поле "Команда" указан полный путь, то текущим путём для создаваемого процесса будет задан тот, который открыт в активной файловой панели. Легко проверить, создав кнопку, запускающую c:\windows\system32\cmd.exe, "Путь запуска" оставить пустым, перейти в панели куда-нибудь на сетевой ресурс и нажать кнопку. Откроется консоль с сообщением:

Код: Выделить всё

"\\127.0.0.1\Shared"
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows.
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\WINDOWS>_
Особенно пикантные результаты от подобной подмены текущего пути можно получить при запуске скрипта, автоматически удаляющего или перезаписывающего всякие файлы в текущем каталоге…
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

CaptainFlint писал(а):Особенно пикантные результаты от подобной подмены текущего пути можно получить при запуске скрипта, автоматически удаляющего или перезаписывающего всякие файлы в текущем каталоге…
Но если UAC настороже, и тотал не под админом, всё обойдётся. :D
Ответить