Команда "cd /d" не работает в FAR manager, version
Команда "cd /d" не работает в FAR manager, version
Выдает ошибку "Синтаксическая ошибка в имени файла, имени папки или метке тома."
Нельзя ли реализовать ключ "/d"? чтобы он работал так же, как в командной строке Windows?
Нельзя ли реализовать ключ "/d"? чтобы он работал так же, как в командной строке Windows?
- zg
- zero-gravity
- Posts: 6207
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 206 times
- Contact:
Re: Команда "cd /d" не работает в FAR manager, ver
оно уже реализовано и работает без всяких ключей.ddv wrote:Нельзя ли реализовать ключ "/d"? чтобы он работал так же, как в командной строке Windows?
- Alexander84
- Posts: 165
- Joined: Fri 01 May, 2009 06:38
- Has thanked: 22 times
- Been thanked: 3 times
Команда "cd /d" не работает в FAR manager, version
Far 3.0.6060.0 x64
Пишу cd /d c:\apps (или pushd c:\apps), жму Enter, осуществляется переход, т.е. вижу содержимое папки apps.
Теперь создаю файл c:\go.cmd и помещаю в него эту команду, запускаю. Переход не происходит.
Однако если закрыть Фар, открыть командую строку через Старт и запустить go.cmd, то переход происходит.
Почему?
Пишу cd /d c:\apps (или pushd c:\apps), жму Enter, осуществляется переход, т.е. вижу содержимое папки apps.
Теперь создаю файл c:\go.cmd и помещаю в него эту команду, запускаю. Переход не происходит.
Однако если закрыть Фар, открыть командую строку через Старт и запустить go.cmd, то переход происходит.
Почему?
- Alexander84
- Posts: 165
- Joined: Fri 01 May, 2009 06:38
- Has thanked: 22 times
- Been thanked: 3 times
Команда "cd /d" не работает в FAR manager, version
В том и дело: Фар переходит по команде cd, запущенной руками, но отказывается переходить из батника.
А ожидание состоит в том, что в обоих случаях переход произойдёт. Как этого добиться?
Поясню на примере из жизни.
Ниже jump.cmd, который принимает поисковый параметр и передаёт его программе поиска.
Программа поиска находит папку, имя которой содержит параметр, и возвращает полный путь до папки.
На последнем шаге нужно перейти по этому пути, т.е. открыть эту папку на активной панели Фара.
В голой командной строке всё работает, при запуске из Фара — не работает.
Пробовал и через меню пользователя (F2), тоже не работает:@echo off set "_keyword=%~1" for /f "delims=" %%x in ('программа_поиска.exe %_keyword%') do cd /d "%%~x"
@for /f "delims=" %x in ('программа_поиска.exe !?Критерий поиска:?!') do goto:"%~x\"
Last edited by Alexander84 on Fri 13 Jan, 2023 03:02, edited 10 times in total.
-
Yegor
- Posts: 1506
- Joined: Mon 04 Apr, 2005 13:41
- Location: San Ramon, CA / Kharkov, UA
- Has thanked: 52 times
- Been thanked: 94 times
Команда "cd /d" не работает в FAR manager, version
Если запускать ваш батник из Far меню (а параметры передавать через
В меню
В jump.cmd:
!?<title>?<init>!), то можно извратиться.В меню
Code: Select all
jump.cmd [!Far params!]
goto:<folder.txtВ jump.cmd:
Code: Select all
for /f "delims=" %%x in ('программа_поиска.exe %_keyword%') do echo %%~x > folder.txtМы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
- HaRT
- Moderator
- Posts: 11458
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 270 times
- Been thanked: 417 times
Команда "cd /d" не работает в FAR manager, version
Такое ожидание основывается на ложном предположении, будто Фар является командным процессором, но он на эту роль даже и не претендует, а лишь частично выполняет сходные функции в той части, которая уместна для его роли файлового менеджера.Alexander84 wrote: Fri 13 Jan, 2023 02:33 А ожидание состоит в том, что в обоих случаях переход произойдёт.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Команда "cd /d" не работает в FAR manager, version
Работайте над своими ожиданиями.Alexander84 wrote: Fri 13 Jan, 2023 02:33 А ожидание состоит в том, что в обоих случаях переход произойдёт. Как этого добиться?
Выполните в комстроке
cmd /C cd /D D:\MyFavoriteFolder и посмотрите на результат.Может быть это позволит вам понять что происходит.
- buniak_a_h
- Posts: 4565
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 242 times
- Been thanked: 674 times
- Contact:
- Alexander84
- Posts: 165
- Joined: Fri 01 May, 2009 06:38
- Has thanked: 22 times
- Been thanked: 3 times
Команда "cd /d" не работает в FAR manager, version
Ай молодца, красавчик! Работает!Yegor wrote: Fri 13 Jan, 2023 03:12 Если запускать ваш батник из Far меню (а параметры передавать через!?<title>?<init>!), то можно извратиться.
(Жаль лишь, что каждый раз приходится дёргать диск для перезаписи файла.)
Так удобнее управлять задачами и переходить в проектные папки, ибо остаёшься в Фаре. Скажем, если в todo.txt есть задачи с меткой #2023-0113-1603, то посмотреть относящиеся файлы в папке 2023-0113-1603 это теперь секундное дело — выделил и перешёл.
Last edited by Alexander84 on Fri 13 Jan, 2023 14:52, edited 5 times in total.
- Alexander84
- Posts: 165
- Joined: Fri 01 May, 2009 06:38
- Has thanked: 22 times
- Been thanked: 3 times
Команда "cd /d" не работает в FAR manager, version
Прошло более 2-х лет, я уже и забыл, что жаловался тут, но поисковик выдал тему первой по запросу farmanager cd /d. Т.е. увещевания «Far — не командный процессор» не отложились в голове, тема по-прежнему актуальна.
Когда я пишу баг-репорты дял иностранцев, они просят точный набор команд для воспроизведения бага. Одна из частых тем — отсутствие юникода в их программах, английское выводится, а русское, немецкое, испанское — с кракозябрами. Чтобы показать им проблему, я первым делом создаю папку с русским названием и перехожу в неё.
Цепочка команд известная: md C:\Папка && cd /d C:\Папка. Проверяю её в Фаре — первая часть работает, папка создаётся, а вторая нет — перехода нет. И это порождает беспокойство, смятение, фрустрацию. Мол, что-то не так написал, раскладку что ли забыл переключить. Ребята, компьютер для человека или человек для компьютера? Ну сделайте вы этот cd в Far'e, кому хуже-то будет? Или есть какие-то технические возражения против этого?
Когда я пишу баг-репорты дял иностранцев, они просят точный набор команд для воспроизведения бага. Одна из частых тем — отсутствие юникода в их программах, английское выводится, а русское, немецкое, испанское — с кракозябрами. Чтобы показать им проблему, я первым делом создаю папку с русским названием и перехожу в неё.
Цепочка команд известная: md C:\Папка && cd /d C:\Папка. Проверяю её в Фаре — первая часть работает, папка создаётся, а вторая нет — перехода нет. И это порождает беспокойство, смятение, фрустрацию. Мол, что-то не так написал, раскладку что ли забыл переключить. Ребята, компьютер для человека или человек для компьютера? Ну сделайте вы этот cd в Far'e, кому хуже-то будет? Или есть какие-то технические возражения против этого?
Last edited by Alexander84 on Thu 15 May, 2025 13:32, edited 8 times in total.
- HaRT
- Moderator
- Posts: 11458
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 270 times
- Been thanked: 417 times
Команда "cd /d" не работает в FAR manager, version
Разумеется, на то есть веские основания. В конкретно вашем случае команда составная, а это самим Фаром не поддерживается (ибо не командный процессор), т.ч. для её выполнения порождается процессAlexander84 wrote: Thu 15 May, 2025 13:27 Цепочка команд известная: md C:\Папка && cd /d C:\Папка. Проверяю её в Фаре — первая часть работает, папка создаётся, а вторая нет — перехода нет. И это порождает беспокойство, смятение, фрустрацию. Мол, что-то не так написал, раскладку что ли забыл переключить. Ребята, компьютер для человека или человек для компьютера? Ну сделайте вы этот cd в Far'e, кому хуже-то будет? Или есть какие-то технические возражения против этого?
cmd.exe, который обе подкоманды успешно и выполняет, в результате чего папка создаётся и CMD в неё переходит (т.е. меняется текущая директория процесса). Вот только текущая директория порождённого процесса никак не влияет на то, какую директорию Фар отображает на своей панели — Фару и узнать-то, какая директория была у дочернего процесса текущей на момент его выхода, простого способа нет.Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 14582
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 514 times
- Contact:
Команда "cd /d" не работает в FAR manager, version
И сложного нет, только хакерские..
А так да, я бы тоже не отказался от подобной функциональности в общем виде.
То что предлагается в качестве примера (md && cd) теоретически можно было бы разбирать не передавая командному процессору, но это же глубоко частный случай.
А так да, я бы тоже не отказался от подобной функциональности в общем виде.
То что предлагается в качестве примера (md && cd) теоретически можно было бы разбирать не передавая командному процессору, но это же глубоко частный случай.
https://t.me/FarManager — Telegram чат