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

goa*_*oat 38 windows command-line batch-file

我非常擅长在Windows上编写脚本.使用Windows 7 64.

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

我尝试用.bat文件制作

@ECHO OFF
cmd "cd C:\my\destination"
Run Code Online (Sandbox Code Playgroud)

这打开了看起来像命令提示符,但似乎没有让我输入任何命令.

然后我尝试了:

@ECHO OFF
start cmd "cd C:\my\destination"
Run Code Online (Sandbox Code Playgroud)

但这只是让我进入一个循环开放吨和大量的提示,直到我的计算机崩溃:) .bat文件位于目标目录,如果这很重要.

Ber*_*ard 74

这对我有用:

@ECHO OFF
cmd.exe /K "cd C:\my\destination && C:"
Run Code Online (Sandbox Code Playgroud)

引用的字符串实际上是两个命令(用双符号分隔):第一个命令是更改到指定的目录,第二个命令是更改为指定的驱动器号.

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

  • 或者`cd/d C:\ my\destination` - 一次更改驱动器和目录. (14认同)

小智 10

使用/ K开关:

@ECHO OFF
start cmd.exe /K "cd C:\my\destination"
Run Code Online (Sandbox Code Playgroud)

但恕我直言,最有用的开关是/?.

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
...
Run Code Online (Sandbox Code Playgroud)

只有当它不起作用时,谷歌就像@Neeraj建议的那样:D

  • 这有效.事实证明,不需要/ k标志.我之前的尝试失败并将我送入循环的原因是因为我将.bat文件命名为cmd.bat,而我使用的是cmd而不是cmd.exe(谢谢谷歌) (2认同)

Jor*_*ney 5

这可以这样做:

@ECHO OFF
cd /D "C:\my\destination"
cmd.exe
Run Code Online (Sandbox Code Playgroud)

如果您需要在打开 cmd 后执行文件或命令,只需将最后一行替换为:

cmd.exe /k myCommand
Run Code Online (Sandbox Code Playgroud)