`
mikehuhu
  • 浏览: 11664 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

昨天写了点dos script,总结一下

    博客分类:
  • dos
阅读更多

以下是对于用到的和google/baidu时看到的dos script的总结,顺序不分前后,:)

1) 一些predefined的变量,不同windows版本还不同(红色的windows vista,7,8特有的)

  • %1…%n, 传递的参数
  • NUL, empty

Table I. Some more common predefined environment variables

Variable

Typical value (May vary)

%ALLUSERSPROFILE%

C:\Documents and Settings\All Users

Windows vista, 7, 8

C:\ProgramData

%APPDATA%

C:\Documents and Settings\{username}
\Application Data

Windows vista, 7, 8

C:\Users\(username}\AppData\Roaming

%COMPUTERNAME%

{computername}

%COMSPEC%

C:\Windows\System32\cmd.exe

%HOMEDRIVE%

C:

%HOMEPATH%

\Documents and Settings\{username}

%PATH%

C:\Windows\System32\;C:\Windows\;
C:\Windows\System32\Wbem

%PATHEXT%

.COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH .MSC

%PROGRAMFILES%

Directory containing program files,
usually
C:\Program Files

%PROMPT%

Code for current command prompt format. Code is usually $P$G

%SYSTEMDRIVE%

The drive containing the Windows XP root directory, usually C:

%SYSTEMROOT%

The Windows XP root directory, usually C:\Windows

%TEMP% and %TMP%

C:\DOCUME~1\{username}\LOCALS~1\Temp

%USERNAME%

{username}

%USERPROFILE%

C:\Documents and Settings\{username}

C:\Users\{username}

%WINDIR%

C:\Windows

 

 

Table II. Some dynamic environment variables

Variable

Value

%DATE%

Current date in the format determined by the Date command

%TIME%

Current time in the format determined by the Time command

%CD%

Current directory with its full path

%ERRORLEVEL%

Number defining exit status of a previous command or program

%RANDOM%

Random number between 0 and 32767

 

2)获得系统的盘符

for /f "delims=/:" %%a in ("%SystemRoot%") do set sysDisk=%%a

 

C

 

 

3)获得脚本所在的目录-这个还是比较有用的~

 

3) get script position

for /f "delims=/[" %%a in ("%~dp0") do set curPath=%%a

 

4)判定win版本

ver | find "2003" > nul

if %ERRORLEVEL% == 0 goto ver_2003

 

ver | find "XP" > nul

if %ERRORLEVEL% == 0 goto ver_xp

 

ver | find "NT" > nul

if %ERRORLEVEL% == 0 goto ver_nt

 

if not exist %SystemRoot%\system32\systeminfo.exe goto warnthenexit

 

systeminfo | find "OS Name" > %TEMP%\osname.txt

FOR /F "usebackq delims=: tokens=2" %%i IN (%TEMP%\osname.txt) DO set vers=%%i

vers=%%i

 

echo %vers% | find "Windows 7" > nul

if %ERRORLEVEL% == 0 goto ver_7

 

echo %vers% | find "Windows Server 2008" > nul

if %ERRORLEVEL% == 0 goto ver_2008

 

echo %vers% | find "Windows Vista" > nul

if %ERRORLEVEL% == 0 goto ver_vista

 

5) windows也有管道接口吆

 

 Findstr /b “testString” “c:\test data\test.txt” | find /C “testString”

 

6)  用时间生成一个特殊的字符

for /f "tokens=2-8 delims=/:. " %%A in ("%date%:%time: =0%") do set "UNIQUE=%%C%%A%%B%%D%%E%%F%%G"

 

Fri25201215282148

 

7)  设置数值变量

Set /a val=102

 

8) if…else, goto

i) goto可以完成if...else的多层嵌套 

ii)  数值比较

EQU, NEQ, LSS, LEQ, GTR, GEQ

iii)  exist, not exist

iv) if exist c:\test.txt (goto line_1) else goto line_2

v) if … () else ()

vi) if defined var1 goto line_var_defined

vii)  和 errorlevel一起使用

Copy  c:\test.txt c:\test.txt.bak

If errorlevel == 0 goto line_successful

 

google到的还有很多,时间有限就先整这么多吧,以上主要是用到一点半点的~~

这个网址也不错

http://www.dostips.com/DtCodeBatchFiles.php#Batch.FileList

http://www.dostips.com/DtCodeSnippets.php#Snippets.CountLines

 

 

分享到:
评论

相关推荐

    DOS学习心得与总结

    DOS学习心得与总结是指在DOS操作系统中学习和总结的一些重要知识点。这些知识点涵盖了DOS的基本概念、内部命令与外部命令、目录操作、文件管理等方面。 DOS学习心得与总结中首先讲解了内部命令与外部命令的区别。...

    用DOS命令写批处理文件

    在IT领域,尤其是在系统管理和脚本编程中,掌握DOS命令和批处理文件的编写是一项基本而实用的技能。批处理文件(Batch Files)是一种文本文件,通常具有.BAT或.CMD扩展名,在Windows操作系统中运行,它们由一系列...

    VC调用dos命令总结

    ### VC调用DOS命令详解 在VC++(Visual C++)编程环境下,开发者经常会遇到需要执行DOS命令的情况,例如获取系统信息、文件管理等。本文将详细解析如何在VC环境中有效地调用DOS命令,并探讨两种常用方法:`system`...

    DOS系统快捷键总结

    ### DOS系统快捷键总结 #### 引言 在IT领域,尤其是对于计算机操作系统的历史发展而言,DOS(磁盘操作系统)无疑占据着重要的地位。尽管随着Windows等图形用户界面(GUI)系统的普及和发展,DOS逐渐淡出了主流市场...

    vc调用dos命令总结

    这篇博文“vc调用dos命令总结”为我们揭示了如何在VC程序中通过系统调用来执行DOS命令。这个过程涉及到C++编程语言、系统接口API以及对操作系统底层机制的理解。 首先,DOS命令实际上是操作系统提供的一种用户界面...

    DOS指令总结值得大家学习

    在这个“DOS指令总结值得大家学习”的资源中,包含了一个名为“DOS学习(这是本人WU90909收录制作的).chm”的压缩文件,这很可能是一个帮助文档,详细介绍了DOS的各种指令。 DOS指令系统主要包括内部命令和外部命令...

    GM300写频、扩频软件 DOS下运行

    本文将详细解析"GM300写频、扩频软件 DOS下运行"这一主题,并结合标签“GM300写频、扩频软件DOS”以及压缩包中的文件“北京M8 GM300扩频”,深入探讨相关知识点。 首先,GM300是一款由摩托罗拉公司生产的专业级手持...

    模拟dos环境对GP88对讲机写频

    在现代计算机系统中,直接操作DOS环境的情况已经不多见,但某些特定的软件或设备仍然需要这样的环境来运行,比如这里的GP88对讲机的写频操作。"模拟DOS环境对GP88对讲机写频"是一个关于在现代操作系统中使用模拟器来...

    摩托罗拉gm300如何进入DOS写频.rar

    以上就是关于摩托罗拉GM300如何进入DOS进行写频的详细步骤和相关知识点。在实际操作中,应确保遵循正确的步骤,并确保所有硬件和软件都兼容且功能正常。如果遇到问题,可以查阅摩托罗拉的官方文档或寻求专业人士的...

    DOS6.22[动手写操作系统]

    【DOS6.22操作系统】是MS-DOS操作系统的一个早期版本,由微软在1991年发布。这个系统代表了个人计算机操作系统发展史上的一个重要阶段,它为用户提供了命令行界面,允许用户通过输入指令来执行各种任务。DOS6.22在...

    用C和汇编写的Dos操作系统的源码_dos源码_rollaoo_Vc_

    总结来说,"用C和汇编写的Dos操作系统的源码"项目是一个结合了低级编程技巧和高级抽象思维的实践。通过这个项目,开发者不仅可以学习到DOS操作系统的内部工作原理,还能深入理解硬件与软件之间的互动,这对于提升...

    C语言头文件 DOS C语言头文件 DOS

    C语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言头文件 DOSC语言...

    DOS写的五子棋

    牛人用DOS 写的五子棋,它的巧妙和高深不在于用了什么高级语言,而是普普通通的一串DOS命令组成的批处理就实现了! 这才是真正的高手!

    J-Dos v1(vb6写的执行dos命令的工具)

    接下来,我们将深入探讨DOS、VB6以及J-Dos v1的相关知识点。 ### DOS操作系统 DOS(Disk Operating System)是个人计算机上早期流行的操作系统,尤其在1980年代至1990年代初期,它是IBM PC兼容机的标准系统。DOS以...

    3107dos下写频软件3107.rar

    在IT领域,"3107dos下写频软件3107.rar" 提供的是一种专门用于在DOS环境下对3107型号设备进行编程或写频操作的工具。这种软件通常由无线电通讯设备制造商提供,用于更新或配置设备的内部参数,如频率、通讯模式和...

    刷写DOS的工具微PE启动盘

    刷写DOS的工具

    DOS命令大全 DOS命令大全

    DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全...

    DOS手册,DOS手册,DOS

    本篇将深入探讨DOS手册中的关键知识点,包括DOS常用命令、MS-DOS编程技术以及DOS的学习指南。 首先,让我们来看看"DOS常用命令宝典"。这个EXE文件可能包含了所有DOS系统下的基础和高级命令,如: 1. **DIR**:列出...

    KPG55D建伍原厂DOS平台版写频软件

    总结起来,KPG55D建伍原厂DOS平台版写频软件是专为建伍电台设计的一款高效工具,它以DOS系统为依托,提供全面的频率和功能配置,帮助用户优化通信效果。虽然在当前的Windows环境下,DOS软件可能显得有些过时,但对于...

Global site tag (gtag.js) - Google Analytics