open command prompt window and change current work

2019-03-12 04:30发布

I'm terribly new to scripting on windows. Using windows 7 64.

I'm trying to make a .bat file that I can double click, and have it open a command prompt and automatically cd me to a certain directory.

I tried making a .bat file with

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

Which opens what looks like a command prompt, but doesn't seem to let me type any commands.

I then tried:

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

But this just sent me into a loop opening tons and tons of prompts until my computer crashed :) The .bat file was located in the destination directory if that matters.

7条回答
我欲成王,谁敢阻挡
2楼-- · 2019-03-12 04:48
@ECHO OFF
%comspec% /K "cd /D d:\somefolder"

The /D will change folder and drive and works on 2000+ (Not sure about NT4)

If you take a look at Vista's open command here, it uses cmd.exe /s /k pushd \"%V\" but I don't think %V is documented. Using pushd is a good idea if your path is UNC (\\server\share\folder) To get UNC current directory working, you might have to set the DisableUNCCheck registry entry...

查看更多
成全新的幸福
3楼-- · 2019-03-12 04:48

This works for me:

@ECHO OFF
cmd.exe /K "cd C:\my\destination && C:"

The quoted string is actually two commands (separated by a double ampersand): The first command is to change to the specified directory, the second command is to change to the specified drive letter.

Put this in a batch (.BAT) file and when you execute it you should see a Command Prompt window at the specified directory.

查看更多
干净又极端
4楼-- · 2019-03-12 04:50

just open a text editor and type

start cmd.exe

cd C:\desired path

Then save it as a .bat file. Works for me.

查看更多
Rolldiameter
5楼-- · 2019-03-12 04:52

Why so complicated? Just create an alias to cmd.exe, right click on the alias and navigate to its settings. Change the "execute in" to the path you want to have as standard path. It will always start in this path.

查看更多
\"骚年 ilove
6楼-- · 2019-03-12 04:57

Use the /K switch:

@ECHO OFF
start cmd.exe /K "cd C:\my\destination"

But IMHO, the most useful switch is /?.

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
...

And only if it does not work, then Google it, as @Neeraj suggested :D

查看更多
啃猪蹄的小仙女
7楼-- · 2019-03-12 05:01

This could be done like that:

@ECHO OFF
cd /D "C:\my\destination"
cmd.exe

If you need to execute a file or command after you open the cmd you can just replace the last line with:

cmd.exe /k myCommand
查看更多
登录 后发表回答