DOS批处理没有get命令,如果你看见别人用,那是他另外有个get.exe之类的文件。
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在dos窗口里输入 for /? 回车,就能看到帮助信息。
给你个列局域网IP地址的例子:
For /L %i in (0,1,254) DO ping -a -n 1 192.168.0.%i |Find /i "reply" >>C:\IPAddress.txt
等命令执行完毕,打开“C:\IPAddress.txt”文件,一张完整的IP与主机名的对照表已经初步形成了,你只需作简单的编辑修改即可打印输出了。
请注意:For命令指定参数“%i”从0开始,每次增加1,直到254为止,即一个C类网段的全部地址。如果用户的局域网自行定义的了IP地址,应根据实际情况设置,如可以为“172.16.0”;“-a”表示获取主机名;“-n -1”表示回显的次数为1次,默认情况下为4次;Find /i "reply“表示查找已响应的主机,即已ping通的主机;“C:\IPAddress.txt”表示将屏幕回显内容输入到“:\IPAddress.txt”文件中。
说得对,for里的%%i 类变量不支持 %i:~-7类操作,而改后呢,你又不知道变量不会延迟扩展,可以有多种解决方法,这里写一种可能较少用的, 建议到我空间看一篇关于变量的文章
for %%i in (*.mp3)do set a=%%i&call :y
pause&exit
:y
ren "%a%" "%a:~-7%"
1.开始菜单>运行>输入cmd回车
2.进入cmd后
d:回车
dir空格*ai*.*回车 (比如想找woaini.sys)就可以找到以此内推,*号代表任何字符
找到这个文件后。
3.del空格文件全名回车