Windows 打开命令提示符窗口并更改当前工作目录

Windows 打开命令提示符窗口并更改当前工作目录,windows,command-line,batch-file,Windows,Command Line,Batch File,我对在windows上编写脚本非常陌生。使用Windows764 我正试图创建一个.bat文件,我可以双击它,让它打开一个命令提示符,并自动cdme到某个目录 @ECHO OFF %comspec% /K "cd /D d:\somefolder" 我试着用它制作一个.bat文件 @ECHO OFF cmd "cd C:\my\destination" 它打开了一个命令提示符,但似乎不允许我键入任何命令 然后我试着: @ECHO OFF start cmd "cd C:\my\destina

我对在windows上编写脚本非常陌生。使用Windows764

我正试图创建一个.bat文件,我可以双击它,让它打开一个命令提示符,并自动
cd
me到某个目录

@ECHO OFF
%comspec% /K "cd /D d:\somefolder"
我试着用它制作一个.bat文件

@ECHO OFF
cmd "cd C:\my\destination"
它打开了一个命令提示符,但似乎不允许我键入任何命令

然后我试着:

@ECHO OFF
start cmd "cd C:\my\destination"

但是这让我陷入了一个循环,打开了无数的提示,直到我的计算机崩溃:)如果有必要的话,.bat文件位于目标目录中。

使用/K开关:

@ECHO OFF
start cmd.exe /K "cd C:\my\destination"
但依我看,最有用的开关是/?

Starts a new instance of the Windows XP command interpreter

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      Carries out the command specified by string and then terminates
/K      Carries out the command specified by string but remains
/S      Modifies the treatment of string after /C or /K (see below)
/Q      Turns echo off
...
只有当它不起作用时,才用谷歌搜索它,正如@Neeraj所建议的:D

这对我来说很有效:

@ECHO OFF
cmd.exe /K "cd C:\my\destination && C:"
带引号的字符串实际上是两个命令(由双符号分隔):第一个命令是更改到指定的目录,第二个命令是更改到指定的驱动器号

将其放在批处理(.BAT)文件中,当您执行它时,您应该会在指定目录中看到一个命令提示窗口

@ECHO OFF
%comspec% /K "cd /D d:\somefolder"
/D将更改文件夹驱动器并在2000+上工作(不确定NT4)


如果您在这里查看Vista的open命令,它使用了
cmd.exe/s/k pushd\%V\”
,但我认为没有记录%V。如果您的路径是UNC(
\\server\share\folder
),使用pushd是一个好主意。要使UNC当前目录正常工作,您可能需要设置注册表项…

只需打开一个文本编辑器并键入

start cmd.exe

cd C:\desired path

然后将其另存为.bat文件。对我有用。

为什么这么复杂?只需创建cmd.exe的别名,右键单击该别名并导航到其设置。将“执行路径”更改为您希望作为标准路径的路径。它将始终从此路径开始。

您可以使用以下语句创建批处理文件“go to folder.bat”:

rem changes the current directory
cd "C:\my\destination"
rem changes the drive if necessary
c:
rem runs CMD
cmd

可以这样做:

@ECHO OFF
cd /D "C:\my\destination"
cmd.exe
如果在打开cmd后需要执行文件或命令,只需将最后一行替换为:

cmd.exe /k myCommand

您的第一个
bat
文件不允许您键入的原因是,该过程已完成。@Ardman,第一个.bat文件在没有/k标志的情况下工作正常,一旦我将该文件重命名为
cmd.bat
之外的文件,对我的问题感兴趣的人可能也会发现这一点很有用:在windows资源管理器中,按住shift键,然后右键单击-您将看到一个新选项,“在此处打开命令提示符”,这是一个很棒的选项。这很有效。原来不需要/k标志。我以前的尝试失败并将我发送到循环中的原因是我将.bat文件命名为cmd.bat,并且我使用cmd而不是cmd.exe(感谢谷歌),我遇到了同样的问题。我还将批处理文件命名为cmd.bat,这就是循环原因。解决此问题不需要/k选项。这就是为什么我把@chris comment.+1投给了/d。我也一直在使用/d。它更简单。启动cmd.exe/K“cd/d C:\my\destination”或
cd/d C:\my\destination
–一次性更改驱动器和目录。通过查找此文件,为我节省了大量的查找时间。这对于使用ANTWhoa的Salesforce开发人员来说是非常好的,因为现在您让事情变得太简单了;-)谢谢你的提示!我想知道cmd/K的情况,您需要为长路径嵌套引号。虽然可能有一种简单的方法来处理这一问题,但这隐含地否定了这个问题。