批处理
用visual studio编译c++代码,但要来回切cmd工作目录,于是想到要写个批处理。
set title pepelu
设置cmd标题
@echo
控制台输出信息
rem
注释信息
choice /c 12 M:"enter your choice"
- /c:选项列表
- 12:1或者2两个选项
- M:"enter your choice":提示信息
- if判断部分:先判断标签最大的选项
IF ERRORLEVEL 2 GOTO INITX86
IF ERRORLEVEL 1 GOTO INIT
:INITX86
ECHO INIT x86
GOTO END
:INIT
ECHO INIT 64BIT
GOTO END
:END
%~d0
此批处理文件所在盘符
%~dp0
此批处理文件所在文件目录
当前盘符和路径的短文件名格式:%~sdp0
当前批处理全路径:%~f0
%cd%
当前CMD默认目录
set /p u=
保存从控制台输入的信息到u中
set u=pepelu
设置u的值为pepelu
输出时用:echo %u%
%为转义字符
完整代码
@echo off
set tile pepelu
c:
cd C:Program Files (x86)Microsoft Visual Studio 14.0VC
rem add choice
echo CHOICE SYSTEM BIT:
ECHO 1.64BIT
ECHO 2.32BIT
choice /c 12 /M:"enter your choice:"
IF ERRORLEVEL 2 GOTO INITX86
IF ERRORLEVEL 1 GOTO INIT
:INITX86
ECHO INIT x86
CALL vcvarsall x86
GOTO END
:INIT
ECHO INIT 64BIT
CALL vcvarsall
GOTO END
:END
%~d0
cd %~dp0
cls
echo input file name...
set /p fileName=
echo switch file type...
ECHO 1.C++
ECHO 2.C
CHOICE /C 12 /M:"ENTER YOUR CHOICE"
IF ERRORLEVEL 2 GOTO C
IF ERRORLEVEL 1 GOTO CPLUS
:C
ECHO THIS IS JUST FOR C
SET FILETYPE=.c
GOTO END
:CPLUS
ECHO THIS IS JUST FOR C++
SET FILETYPE=.cpp
GOTO END
:END
REM set /p fileType=
rem add choice
cl /EHsc %fileName%%FILETYPE%
%fileName%
pause