BAT文件在当前目录中打开CMD

时间:2010-12-15 15:32:12

标签: windows cmd windows-xp

我有许多脚本,我从命令行进行交互。每次我需要使用它们时,我必须打开一个命令行窗口并将其复制+粘贴和CD到它们所在目录的路径。这很繁琐(它们位于一个相当深的文件系统中,因此键入完整路径是一种痛苦,复制+粘贴更好但不多。我试图创建一个.BAT文件,我可以双击它将在中存在.bat文件的文件夹中打开一个新的命令行窗口,但它不起作用。它会打开一个新窗口,但是工作目录不是.bat文件所在的目录。这是我在google搜索后得到的内容(我的cmd技能不是很好):

cd %CD%
cmd.exe

我知道从使用Linux时Konqueror在这里有一个“命令行窗口”功能,这就是我试图在Windows上获得的效果。

18 个答案:

答案 0 :(得分:95)

你可能想这样做:

cd /d %~dp0
cmd.exe

这会将当前目录设置为

中包含批处理文件的目录

答案 1 :(得分:47)

使用以下行创建名为open_dos_here.cmd的文件:

%~d1
cd "%~p1"
call cmd

将此文件放在任何文件夹中。 然后,转到您的发送到文件夹( + E ; Alt + D ; shell:sendto ; 输入)。 创建指向此open_dos_here.cmd的快捷方式

然后,在任何文件夹中,选择任何文件或子文件夹。右键单击并选择“发送到”,然后选择open_dos_here.cmd以打开该文件夹中的DOS。

答案 2 :(得分:24)

您只需在资源管理器的地址栏中输入cmd即可在该路径中启动。同样适用于PowerShell。

答案 3 :(得分:10)

有更简单的方法

start /d "folder path"

答案 4 :(得分:7)

作为一种更通用的解决方案,您可能需要查看用于XP的Microsoft Power Toy,在右键单击时添加“在此处打开命令窗口”选项:http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

在Vista和Windows 7中,如果您按住shift并右键单击(这是内置的),您将获得该选项。

答案 5 :(得分:6)

我在想如果你创建一个依赖于当前目录被设置为包含批处理文件的文件夹的批处理脚本,那么当你尝试使用一个批处理文件执行批处理文件时,你正在设置自己的麻烦完全限定路径,就像您从调度程序那样。

最好将此行添加到批处理文件中:

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

除非您完全符合所有路径的资格。

答案 6 :(得分:3)

资源管理器中最简单的方法是按住Shift键并右键单击文件夹或文件夹中的空白区域,然后点击Open command prompt here

然后

CMD将在该文件夹中启动

我必须说,我不确定它是否适用于Windows Vista及更低版本,但它肯定适用于Windows 7,8,8.1和10。

答案 7 :(得分:2)

当您在所需的文件夹中时,只需在您的 CMD

中输入 address bar

答案 8 :(得分:2)

执行此操作的最简单命令:
start

您始终可以在命令行中运行此命令,以在同一位置打开新的命令行窗口。或者您可以将它放在.bat文件中。

答案 9 :(得分:2)

另一种解决方案是使用快捷方式文件到cmd.exe 而不是批处理文件。

将快捷方式的属性开始编辑为%~dp0

你实现同样的目标,除了它有Cmd图标(你可以改变它)。

有些人不喜欢在不知道其中包含批处理文件的情况下点击批处理文件,而某些企业网络驱动器禁止使用.bat文件......

答案 10 :(得分:2)

您可以通过注册表添加上下文菜单条目:

  1. 在您的注册表中导航到 HKEY_LOCAL_MACHINE/Software/Classes/Folder/Shell 并创建一个名为“命令提示符”的键,不带引号。

  2. 将默认字符串设置为要在右键单击菜单中显示的任何文本。

  3. 在新创建的名为“command”的命令提示符中创建一个新密钥,并将默认字符串设置为

    cmd.exe /k pushd %1
    
  4. 如果找不到可执行文件,您可能需要在cmd.exe之前添加%SystemRoot%\system32\

    1. 应立即进行更改。右键单击文件夹,应显示新的菜单项。
    2. 另见http://www.petri.co.il/add_command_prompt_here_shortcut_to_windows_explorer.htm

答案 11 :(得分:1)

在您的目录中创建一个新文件startCmdLine.bat并将此行放入其中

call cmd

就是这样。现在双击.bat文件。它对我有用。

你可以用start取代call,它也可以。

答案 12 :(得分:1)

参考@Chris的回答,

我们也可以转到批处理文件的父目录,并使用以下

运行命令
cd /d %~dp0..

要了解命令{{1}}的工作原理,请参阅以下链接

What does it mean by command cd /d %~dp0 in Windows

答案 13 :(得分:0)

游戏有点晚,但如果我能正确理解你的需求,这将有助于解决同样问题的人。

两个具有相同第一步的解决方案: 首先导航到保存脚本的位置,然后将文件路径复制到该目录。

第一个解决方案:

  • 点击"开始"
  • 右键单击"计算机" (或"我的电脑)
  • 点击"属性"
  • 点击左侧,然后点击"高级系统设置"
  • 点击"环境变量"
  • 在"系统变量"框,向下滚动并选择"路径"
  • 点击"编辑"
  • 在"变量值"字段,一直向右滚动
  • 如果还没有分号(;),请添加它。
  • 粘贴您之前复制的文件路径。
  • 以分号结尾。
  • 点击"确定"
  • 点击"确定"再次
  • 点击"确定"最后一次

您现在可以使用任何脚本,就好像您已经是该文件夹一样。

第二种解决方案:(可以很容易地与第一种解决方案配对以获得额外的用途)

在桌面上创建包含以下内容的批处理文件。

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

这将打开一个命令窗口,就像你试图做的那样。


有关Windows命令的大量信息,请点击此处:http://ss64.com/nt/

答案 14 :(得分:0)

这段代码对我有用 将其命名为cmd.bat

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

答案 15 :(得分:0)

你可以尝试:

shift + 右键单击

然后,单击此处打开命令提示符

答案 16 :(得分:0)

在给定的文件夹内,单击顶部的地址栏,然后键入 cmd ,然后单击输入 它将打开带有当前文件夹地址的命令提示符。

答案 17 :(得分:0)

您可以简单地在任何方便的位置创建一个bat文件,并将任何文件从所需目录拖放到该文件上。 哈哈。代码:

cmd