`
java-mans
  • 浏览: 11432438 次
文章分类
社区版块
存档分类
最新评论

DOS批处理几点说明

 
阅读更多

1. %* 用法

用于传递参数给批处理文件中的命令或批处理

例1. 批处理文件 test.bat, 内:

dir %*

命令:

D:/temp>setupCmdLine.bat "e:/test"

结果:
D:/temp>dir "e:/test"
驱动器 E 中的卷没有标签。
卷的序列号是 5EF3-A7A1

e:/test 的目录

2010-09-14 14:27 <DIR> .
2010-09-14 14:27 <DIR> ..
2010-09-14 14:27 <DIR> mytest
2010-09-14 14:27 <DIR> webservice
0 个文件 0 字节
4 个目录 5,349,498,880 可用字节

例2. 批处理文件test.bat内容:

for %%P in ( %* ) do echo %%P

命令:

D:/temp>test "e:/test" "e:/test2" "e:/temp"
结果:
D:/temp>for %P in ("e:/test" "e:/test2" "e:/temp") do echo %P

D:/temp>echo "e:/test"
"e:/test"

D:/temp>echo "e:/test2"
"e:/test2"

D:/temp>echo "e:/temp"
"e:/temp"

2. pause 自定义提示消息

pause命令执行后一般出现 "按任意键继续..." 字样,可以使用下面的手段定义消息:

@echo 使用我自己定义的消息

pause > nul

3. cd 命令

/d参数, 可以切换包括盘符的路径

命令:

D:/temp>cd /d "e:/test"

结果:

E:/test>

4. %cd%指当前路径

例:

命令:

C:/Documents and Settings/Administrator>echo %cd%

结果:
C:/Documents and Settings/Administrator

5. %0, %1, %2, %n

%0指批处理文件本身

%1指批处理文件第一个参数

%2指批处理文件第二个参数

例:文件 test.bat内容入下:

echo %%0=%0
echo %%1=%1
echo %%2=%2

命令:

D:/temp>setupCmdLine.bat param1 param2

结果:

D:/temp>echo %0=setupCmdLine.bat
%0=setupCmdLine.bat

D:/temp>echo %1=param1
%1=param1

D:/temp>echo %2=param2
%2=param2

6. %%

对%的转义,即作为%字符本身输出?

如上面的例子,将test.bat内容修改如下:

echo %0=%0
echo %1=%1
echo %2=%2

命令:

D:/temp>setupCmdLine.bat param1 param2

结果:

D:/temp>echo setupCmdLine.bat=setupCmdLine.bat
setupCmdLine.bat=setupCmdLine.bat

D:/temp>echo param1=param1
param1=param1

D:/temp>echo param2=param2
param2=param2

7. %~dp0

即对%0进行处理,去掉引号

%~d0 去引号,取盘符

例1. 批处理文件test.bat内容:

echo %1
echo %~d1
echo %~dp1

命令:

d:/temp>test "e:/test"

结果:

D:/temp>echo "e:/test"
"e:/test"

D:/temp>echo e:
e:

D:/temp>echo e:/
e:/

例2.

命令:

d:/temp>test "e:/test/"

结果:

D:/temp>echo "e:/test/"
"e:/test/"

D:/temp>echo e:
e:

D:/temp>echo e:/test/
e:/test/ (注意这里的区别,test/被加了进来)

例3.

test.bat内容:

@echo %1
@echo %~d1
@echo %~dp1
@echo %~dpn1

命令:

D:/temp>setupCmdLine.bat "e:/test/test.dat"
结果:
D:/temp>SET CUR_DIR=D:/temp
"e:/test/test.dat"
e:
e:/test/
e:/test/test
e:/test/test.dat


d-取盘符; p-取路径; n-取文件名

命令参考:

~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小


分享到:
评论

相关推荐

    DOS批处理高级教程

    此文档在网上可以搜到很多免费版本的,本文档比百度文库的最后稍微多了几节内容。 我用了1天半时间囫囵吞枣一番,总体感觉文档写的比较流畅,解释问题也很清楚,读起来并不困难,因此吐血推荐给初学者~ 阅读过程中,...

    如何编写批处理文件批处理文件批处理文件

    以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。 sample2: 利用For命令来实现对一台目标Win2k主机的暴力密码破解。 我们用net use \ipipc$ "password" /u:"administrator"来尝试这...

    DOS 软盘+光盘+U盘+硬盘+NTFS 想拥有更强大的DOS功能??

    AUTOEXEC.BAT DOS的开机自动执行批处理文件。 CONFIG.SYS DOS的系统配置文件。 DELTREE.EXE DOS7.1自带的删除目录及内嵌文件工具。 D.COM DOS下的系统关机工具,适用于ATX电源。 DI1000DD.SYS U盘的驱动。 DOSKEY....

    Dos命令大全

    以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。 sample2: 利用For命令来实现对一台目标Win2k主机的暴力密码破解。 我们用net use \\ip\ipc$ "password" /u:"administrator"来...

    msods5.8 u盘上的dos

    19.卸载本软件,请在 "控制面板-&gt;添加删程序-&gt;找到MaxDOS点删除! ======================================================== MaxDOS v5.8s 安装启动后首菜单有6个主选项及二级菜单的7个子选项. 首菜单主选项 A. ...

    grub4dos-V0.4.6a-2017-02-04更新

    3.two variables boot_drive and install_partition can be preset to a value before transferring control to grub4dos. (tinybit) 4.修正屏蔽 map 信息。(yaya) 2014-10-09(yaya) 1.屏蔽 map 信息。 2014...

    常用的doc命令, 各种doc操作

    dos最常见的指令详细介绍 dos作为古老的操作系统,自有自己的优势,虽然对一般的用户来说dos已经是过时的,但其实并...dos的强大功能可以用以下几点表述: (1)稳定性超强 (2)强大的磁盘管理功能 (3)批处理功能

    c语言实战105例源码

    48 加密DOS批处理程序  49 使用栈实现密码设置  50 远程缓冲区溢出漏洞利用程序  51 简易漏洞扫描器  52 文件病毒检测程序  53 监测内存泄露与溢出  54 实现traceroute命令  55 实现ping程序...

    MaxDOS 5.6s U盘版

    MaxDOS 5.6S 说明文件 如果您有何问题,请在此跟贴,或者到我论坛中发问。谢谢。 1.加入了10多种新型网卡驱动,以及更新以前一些驱动存在的问题. 2.支持DOS下直接访问局域网的共享资源,可以读写共享目录,当然要共享...

    C语言实战105例源码

    实例48 加密DOS批处理程序 139 实例49 使用栈实现密码设置 141 实例50 远程缓冲区溢出漏洞利用程序 144 实例51 简易漏洞扫描器 146 实例52 文件病毒检测程序 149 实例53 监测内存泄露与溢出 150 实例54...

    升级MaxDOS71

    21.卸载本软件,请在 "控制面板-&gt;添加删程序-&gt;找到MaxDOS点删除! =============================================================================== MaxDOS 7.1 安装启动后首菜单有7个主选项. 首菜单主选项 A....

    MaxDOS & Ghost8.2 7 For Vista/2008

    21.卸载本软件,请在 "控制面板-&gt;添加删程序-&gt;找到MaxDOS点删除! =============================================================================== MaxDOS V7 安装启动后首菜单有7个主选项. 首菜单主选项 A. ...

    C语言实战105例 含105个源代码

    实例48 加密DOS批处理程序 139 实例49 使用栈实现密码设置 141 实例50 远程缓冲区溢出漏洞利用程序 144 实例51 简易漏洞扫描器 146 实例52 文件病毒检测程序 149 实例53 监测内存泄露与溢出 150 实例54...

    《C语言实战105例》

    实例48 加密DOS批处理程序 139 实例49 使用栈实现密码设置 141 实例50 远程缓冲区溢出漏洞利用程序 144 实例51 简易漏洞扫描器 146 实例52 文件病毒检测程序 149 实例53 监测内存泄露与溢出 150 实例54...

    C语言实战105例源码.rar

    实例48 加密DOS批处理程序 139 实例49 使用栈实现密码设置 141 实例50 远程缓冲区溢出漏洞利用程序 144 实例51 简易漏洞扫描器 146 实例52 文件病毒检测程序 149 实例53 监测内存泄露与溢出 150 实例54...

    MaxDOS_71PXE_G115.rar

    21.卸载本软件,请在 "控制面板-&gt;添加删程序-&gt;找到MaxDOS点删除! =============================================================================== MaxDOS 7.1 安装启动后首菜单有7个主选项. 首菜单主选项 A. ...

Global site tag (gtag.js) - Google Analytics