标题: 批处理可以实现么?
[打印本页]
作者: kingee
时间: 2007-4-28 07:02
标题: 批处理可以实现么?
1、我要删除c:\windows文件夹下面的系统的升级文件($*$),因为文件多而且是文件夹,我想用批处理命令删除他们,应该如何写命令?
2、可不可以用dos批处理命令实现一下功能:是安装在系统里的程序依次运行,例如先运行A程序,程序启动以后,会提示要用户操作该程序,用户关闭程序以后,接着运行B程序,依次C、D^……
作者: lxmxn
时间: 2007-4-28 07:08
1、可以用for循环来实现
for /f "delims=" %%a in ('dir /s/b/ad c:\windows\$*$') do rd /s/q "%%a"
2、同样是for
@echo off&for /f "delims=" %%a in ('dir /s/b/a-d C:\*.exe') do @start /wait "" "%%a"
作者: kingee
时间: 2007-4-28 22:09
标题: 再问版主
lxmxn
版主
高手啊,好多都没有搞定,我是菜鸟,所以我还要问问:对于第二个问题假设要运行的程序为ms.exe,logo.exe,sonyee.exe……,而且都知道程序的绝对路径,那么代码中如何体现这些程序?
[
Last edited by kingee on 2007-4-28 at 09:24 AM ]
作者: lxmxn
时间: 2007-4-29 02:54
Re kingee:
你可以将你要运行的程序的完整路径写进一个配置文件,比如runexe.ini里面,然后用批处理来读取runexe.ini文件,运行里面的进程。
比如你的runexe.ini文件的内容为:
Quote: |
C:\windows\ms.exe
C:\windows\system32\logo.exe
d:\youxi\sonyee.exe
c:\program files\tencent\qq.exe |
|
用如下的脚本来依次运行runexe.ini里面的程序:
@echo off
for /f "delims=" %%a in (runexe.ini) do start /w "" "%%a"
作者: ynygu
时间: 2007-4-30 08:11
这样行么?
del C:\WINDOWS\$*$ /f/s/q/a
dir C:\WINDOWS\$*$ /ad/b/s | sort /r >temp.txt
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (temp.txt) do (
set var=%%i
set "var=!var:C:=rd C:!"
echo !var!>>temp.bat
)
del temp.txt /f/s/q/a
call temp.bat
del temp.bat /f/s/q/a
del %0
作者: lxmxn
时间: 2007-4-30 09:05
Re ynygu:
大略看了一下,不错。只是有更简单的方法。你可以试试带/s/q参数的rd命令,这个可以连目录带文件全部删除,使用的时候要小心了。