BAT файл для открытия CMD в текущем каталоге

У меня есть много скриптов, с которыми я взаимодействую из командной строки. Каждый раз, когда мне нужно их использовать, я должен открыть окно командной строки и скопировать + вставить и CD в путь к каталогу, в котором они находятся. Это утомительно (они находятся в довольно глубокой файловой системе, поэтому вводя полный путь боль, копия + вставка лучше, но не много). Я попытался создать файл .BAT, который я мог бы дважды щелкнуть по нему, чтобы открыть новое окно командной строки в папке, где есть файл .bat, но он не работает. Он открывает новое окно, но рабочий каталог не является каталогом, в котором находится файл .bat. Вот что я получил после многоголоджинга (мои умные навыки не так велики):

cd %CD%
cmd.exe

Я знаю, когда я использовал Linux, у Konqueror была функция "Command-line window здесь" и что эффект, который я пытаюсь получить в Windows.

Ответ 1

Создайте файл с именем open_dos_here.cmd со следующими строками:

%~d1
cd "%~p1"
call cmd

Поместите этот файл в любую папку. Затем перейдите в папку "Отправить" (Win + E; Alt + D; shell:sendto; Enter). Создайте ярлык, чтобы указать на это open_dos_here.cmd

Затем в любой папке выберите любой файл или подпапку. Щелкните правой кнопкой мыши и выберите "Отправить в", а затем выберите open_dos_here.cmd, чтобы открыть DOS в этой папке.

Ответ 2

вы, вероятно, захотите сделать это:

cd /d %~dp0
cmd.exe

это установит ваш текущий каталог в каталог, в котором у вас есть пакетный файл в

Ответ 3

Вы можете просто ввести cmd в адресную строку в проводнике и запустить его в этом пути. Аналогично для PowerShell.

Ответ 4

В качестве более общего решения вы можете проверить Microsoft Power Toy для XP, который добавляет параметр "Открыть командное окно здесь" при щелчке правой кнопкой мыши: http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

В Vista и Windows 7 вы получите эту опцию, если вы удерживаете shift и щелкните правой кнопкой мыши (это встроено).

Ответ 5

Там более простой способ

start /d "folder path"

Ответ 6

Я думаю, что если вы создаете пакетный пакет script, который полагается на текущий каталог, который будет установлен в папку, содержащую пакетный файл, вы настраиваете себя на наличие проблем при попытке выполнить пакетный файл используя полный путь, как вы планировали.

Лучше добавить эту строку в свой пакетный файл:

REM Change Current Directory to the location of this batch file 
CD /D %~dp0

если вы полностью не определили все свои пути.

Ответ 7

Вы можете добавить запись в контекстное меню через реестр:

  • Перейдите в свой реестр, чтобы HKEY_LOCAL_MACHINE/Software/Classes/Folder/Shell и создайте ключ под названием "Командная строка" без кавычек.

  • Задайте строку по умолчанию любому тексту, который вы хотите отобразить, в меню правой кнопки мыши.

  • Создайте новый ключ в своей недавно созданной командной строке с именем "command" и установите для строки по умолчанию

    cmd.exe /k pushd %1
    

Вам может потребоваться добавить %SystemRoot%\system32\ перед cmd.exe, если исполняемый файл не может быть найден.

  • Изменения должны произойти немедленно. Щелкните правой кнопкой мыши папку и появится новый пункт меню.

Также см. http://www.petri.co.il/add_command_prompt_here_shortcut_to_windows_explorer.htm

Ответ 8

Другим решением является использование ярлыка файла cmd.exe вместо пакетного файла.

Отредактируйте ярлык начать в до % ~ dp0.

Вы достигаете того же, за исключением того, что у него есть значок Cmd (и вы можете изменить это).

Некоторым людям не нравится нажимать на пакетные файлы, не зная, что в них, а некоторые корпоративные сетевые диски имеют запрет на файлы .bat...

Ответ 9

Простейшая команда для этого:
start

Вы всегда можете запустить это в командной строке, чтобы открыть новое окно командной строки в том же месте. Или вы можете поместить его в свой .bat файл.

Ответ 10

Самый простой способ в проводнике - Shift + щелкнуть правой кнопкой мыши по папке или на пустом месте в папке и нажать Open command prompt here.

CMD затем запустится в этой папке

Я должен сказать, что я не уверен, что он работает для Windows Vista и ниже, но он, безусловно, работает для Windows 7, 8, 8.1 и 10.

Ответ 11

Может быть, немного старого квеста, но для тех, что мне нравятся, для этого вы можете сдвинуть и щелкнуть правой кнопкой мыши по папке. Таким образом, меню содержимого плохо отображает здесь окно команд.

Ответ 12

Немного поздно в игре, но если я правильно понимаю ваши потребности, это поможет людям с той же проблемой.

Два решения с одним и тем же первым шагом: Сначала перейдите к месту, в котором вы храните свои скрипты, и скопируйте путь к файлу в этот каталог.

Первое решение:

  • Нажмите "Пуск"
  • Щелкните правой кнопкой мыши "Компьютер" (или "Мой компьютер" )
  • Нажмите "Свойства"
  • Слева щелкните "Дополнительные настройки системы"
  • Нажмите "Переменные среды"
  • В поле "Системные переменные" прокрутите вниз и выберите "PATH"
  • Нажмите "Изменить"
  • В поле "Значение переменной" прокрутите весь путь вправо
  • Если там еще нет двоеточия (;), добавьте его.
  • Вставить в путь к файлу, который вы скопировали ранее.
  • Завершить с помощью двоеточия.
  • Нажмите "ОК"
  • Нажмите "ОК" еще раз
  • Нажмите "ОК" в последний раз

Теперь вы можете использовать любой из своих скриптов, как если бы вы уже были этой папкой.

Второе решение: (может быть легко сопряжено с первым для дополнительной полезности)

На рабочем столе создайте пакетный файл со следующим контентом.

@echo off
cmd /k cd "C:\your\file\path"

Это откроет окно командной строки, подобное тому, что вы пытались сделать.


Для тонны информации о командах Windows здесь: http://ss64.com/nt/

Ответ 13

этот код работает для меня назовите его cmd.bat

@echo off
title This is Only A Test
echo.
:Loop
set /p the="%cd%"
%the%
echo.
goto loop

Ответ 14

Создайте новый файл startCmdLine.bat в своем каталоге и поместите в него эту строку

call cmd

Вот и все. Теперь дважды щелкните файл .bat. Это работает для меня.

Вы можете заменить вызов на запуск, он также будет работать.

Ответ 15

Ссылаясь на ответ @Chris,

Мы также можем перейти в родительский каталог командного файла и выполнить команды, используя следующие

cd /d %~dp0..
<OTHER_BATCH_COMMANDS>
cmd.exe

Чтобы понять работу команды cd /d %~dp0.., обратитесь к ссылке

Что означает команда cd/d% ~ dp0 в Windows

Ответ 16

вы можете попробовать:

shift + right click

затем нажмите "Открыть командную строку" здесь