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

Fru*_*ner 47 windows windows-xp cmd

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

cd %CD%
cmd.exe
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*ris 94

你可能想这样做:

cd /d %~dp0
cmd.exe
Run Code Online (Sandbox Code Playgroud)

这会将您当前的目录设置为您拥有批处理文件的目录

  • @FrustratedWithFormsDesigner:如果它解决了您的问题,为什么不将此设置为已接受的答案?它确实为我解决了! (4认同)
  • 'cd'是一个特定于系统的命令 - 由microsoft为其commond-line实现,'%~dp0'只是保存当前正在执行的批处理文件所在路径的变量 - 因此执行此命令将带您进入该目录(显然这个变量只能从批处理文件中获得,这很有意义) (3认同)

小智 46

创建一个open_dos_here.cmd使用以下行命名的文件:

%~d1
cd "%~p1"
call cmd
Run Code Online (Sandbox Code Playgroud)

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

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

  • 你应该解释每一行. (8认同)

Joe*_*oey 24

您只需进入cmd资源管理器中的地址栏,它就会在该路径中启动.同样适用于PowerShell.

  • @Michael:这就是我尝试过的:在资源管理器(** 不是 ** Internet Explorer)的地址栏中键入 `CMD`,然后导致 *WinXP* 尝试在 Internet Explorer 中将 `CMD` 作为 URL 打开。所以我认为可以肯定地说这是 Win7+ 的东西。 (2认同)

s-f*_*s-f 11

有更简单的方法

start /d "folder path"
Run Code Online (Sandbox Code Playgroud)

  • 适用于 Windows 10。 (2认同)

DKn*_*ght 7

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

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


Cha*_*adD 6

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

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

REM Change Current Directory to the location of this batch file 
CD /D %~dp0
Run Code Online (Sandbox Code Playgroud)

除非你完全符合你的所有路径.