Batch file 根据用户输入在命令提示符中更改工作目录

Batch file 根据用户输入在命令提示符中更改工作目录,batch-file,command-prompt,Batch File,Command Prompt,我有一个如下所示的批处理文件: @echo off cd\ title Build Batch cd C:\ProgramData\CodeBase\ dir set /p codeBase=Enter the CodeBase: %=% @echo Build for %codeBase% cd\ cd C:\ProgramData\CodeBase\%codeBase%\my_code_folder\build pause 如果我执行它,它将正常运行,直到获得用户输入并打印变量codeB

我有一个如下所示的批处理文件:

@echo off
cd\
title Build Batch
cd C:\ProgramData\CodeBase\ 
dir
set /p codeBase=Enter the CodeBase: %=%
@echo Build for %codeBase%
cd\
cd C:\ProgramData\CodeBase\%codeBase%\my_code_folder\build
pause
如果我执行它,它将正常运行,直到获得用户输入并打印变量codeBase的值。之后,它无法更改工作目录,只是静止不动


如何根据用户输入更改工作目录?

任务的可能工作代码可能是:

@echo off
title Build Batch
cd /D C:\ProgramData\CodeBase\ 
rem List only names of subdirectories sorted by name.
dir /AD /B /ON
set /p "codeBase=Enter the CodeBase: "
echo Build for %codeBase%
cd "C:\ProgramData\CodeBase\%codeBase%\my_code_folder\build"
pause

双引号可能是代码的重要区别。

如果codeBase中有空格,请使用cd C:\ProgramData\codeBase\%codeBase%\my_code_folder\build注意双引号是的,请尽可能引用所有内容,尤其是目录名和用户输入的值。