Проблема с пониманием особенностей командной строки

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

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

Ответить
al3223
Сообщения: 6
Зарегистрирован: Чт мар 27, 2014 15:09

Проблема с пониманием особенностей командной строки

Сообщение al3223 »

rd /q/s "Имя любой папки" в обычной CMD приводит к удалению оной, в TC как-то не получается, сигнал ошибки весь результат. Поиск отказался что-либо толковое дать (странно, обычно всё подобное уже давным-давно обсудили раз двести). rmdir вообще говорит что файл не найден. Я понимаю что это я чего-то не понимаю, а не эти злые дядьки сделали так что ничего не работает, прошу лишь указать где все эти нюансы подробно расписаны (должны быть в справке, но то-ли я перегрелся - не вижу, то-ли справка у меня какая-то особенная).
del /q/s "Имя папки" приводит к удалению содержимого папки, но ни как не её.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Из справки про командную строку:
Enter
Выполнить командную строку, если она содержит хотя бы один символ (иначе запускается программа под курсором в исходной панели). Если команда — cd, md или rd, она выполняется внутренней реализацией. Для выполнения некоторых других системных команд автоматически запускается командный интерпретатор (cmd.exe или command.com). В остальных случаях запускается программа с введённым именем.
Можно попробовать (в остальных случаях) так:
cmd /c rd /q/s "Имя любой папки"
al3223
Сообщения: 6
Зарегистрирован: Чт мар 27, 2014 15:09

Сообщение al3223 »

Avada писал(а):al3223
В справке расписаны функции самого TC, но уж никак не общесистемные команды, которые к основному функционалу TC попросту не имеют отношения.
Очень помогло в решении вопроса, спасибо.

Добавлено спустя 5 минут:
sa писал(а):Можно попробовать (в остальных случаях) так:
cmd /c rd /q/s "Имя любой папки"
Пустую папку по rd удаляет без проблем, дело в ключах должно быть, синтаксис другой или ещё что, где-то встречал "-" вместо "/" но и так не проходит. Неужто никто не юзает так строку?!
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Команды типа rd - внутренние команды CMD.exe, работают только в нём. Однако, тотал по Shift+Enter вызывает CMD, поэтому rd Shift+Enter будет работать.

Юзать консольные команды типа rd - не самая лучшая мысль, т.к. они могут не поддерживать юникод, работают в другом приложении и всё такое.

Однако, команду rd с параметрами тотал почему-то не выполняет по Shift+Enter. Похоже, либо баг, либо фича...

Добавлено спустя 4 минуты:

Ага, похоже, команду rd тотал обрабатывает внутренне, считая всё после пробела именем папки... То же самое с командой md.

Можно сделать юзер-команду и алиас, чтобы по rd что-то-там запускалось CMD.exe /c rd что-то-там. Заходим в настройки, Разное, Псевдоним, rd, открываем выбор команды, категория usercmd.ini, Новая, имя em_Rd, команда CMD.exe /c rd, параметры %A, ОК, ОК, зелёная галка, ОК.
al3223
Сообщения: 6
Зарегистрирован: Чт мар 27, 2014 15:09

Сообщение al3223 »

Всем спасибо, MVV отдельно.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Ага, похоже, команду rd тотал обрабатывает внутренне, считая всё после пробела именем папки... То же самое с командой md.
То же самое с командой cd, следуя справке.
Ответить