DOS
文件名:
所有文件都应该是全限定名,即:路径名+文件名,如果只有文件名没有路径名,默认为该shell所在目录。
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
此批处理文件所在文件目录
%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.0\VC
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
新建文件:
type > %~dp0\a.txt
//or
echo a 2>FileName
“2”表示错误输出的句柄,此例中没有错误输出,所以创建了没有内容的空文件。
其实>默认都是重定向了句柄1,即标准输出句柄。比如cd.>a.txt,其实就是cd. 1>a.txt。
同样,句柄3到9也可以使用在本例中,它们是未经定义的句柄,也不会有输出,如
echo a 3>a.txt
http://bits00.iteye.com/blog/1585651
http://www.pstips.net/working-with-files-and-directories.html
删除文件:
删除当前文件夹下以exe为后缀名的文件
del %~dp0\*.exe
打开指定文件目录:
目录中间可以有空格
explorer DirectoryName
DirectoryName : 要打开的文件夹路径名
地址:
https://github.com/amorypepelu/Pepelu
del F:_desktop.ini /f /s /q /a (F代表你要操作的盘符,如果是C盘就把F改成C)
强制删除F盘下所有目录内(包括X盘本身)的_desktop.ini文件并且不提示是否删除。
/f 表示强制删除文件
/s表示子目录都要删除该文件
/q表示无声,不提示
/a根据属性选择要删除的文件
R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀
例:
删除F盘下及其子目录下的所有指定文件
del F:/*.pdb /f /s /q /a (删除F盘下的所有后缀名为pdb的文件)
rd 删除文件夹(非空)
rd /s fileName 删除文件夹
rd /s /q fileName 删除文件夹,不提问
清除 DNS 缓存
ipconfig /flushdns