标题: 求助:这个批处理该如何写? 已解决!
[打印本页]
作者: lfplft
时间: 2008-3-8 18:50
标题: 求助:这个批处理该如何写? 已解决!
@echo off
echo 正在清除%1文件,请稍等......
del c:\%1 /f/s/q/a
del d:\%1 /f/s/q/a
del e:\%1 /f/s/q/a
del f:\%1 /f/s/q/a
del g:\%1 /f/s/q/a
del h:\%1 /f/s/q/a
echo 清除完毕!
echo. & pause
上面是我试着写的一个批处理,我想实现的功能是:把某个文件拖到这个批处理上,就会自动删除硬盘上的所有同名文件。我主要是在清理病毒时用。但是这里的%1总是被替换成带路径的文件名,于是出错。恳请高手指教!
还有一个问题,我想在执行前提示确认,但是用CHOICE却提示'choice' 不是内部或外部命令,也不是可运行的程序?我应该怎么写?
[
Last edited by lfplft on 2008-3-9 at 12:26 AM ]
作者: learner0
时间: 2008-3-8 19:10
需要引号的特殊字符是:
<space>
&()[]{}^=;!'+,`~
文件路径有空格的要加双引号。
@echo off
echo 正在清除%1文件,请稍等......
del "c:\%1" /f/s/q/a
del "d:\%1" /f/s/q/a
del "e:\%1" /f/s/q/a
del "f:\%1" /f/s/q/a
del "g:\%1" /f/s/q/a
del "h:\%1" /f/s/q/a
echo 清除完毕!
echo. & pause
作者: lfplft
时间: 2008-3-8 19:21
我现在的问题不是有空格的问题,而是不想要路径,只要文件名就可以了。
作者: everest79
时间: 2008-3-8 19:28
"drive:\%~nx1"
作者: lfplft
时间: 2008-3-8 20:16
多谢!多谢!
I服了YOU!
那么,是不是你这个%~nx1就是文件名呢?还是有别的意思?愿闻其详!
多谢指教!积分1点奉上!评分理由:直接解决问题!
作者: lfplft
时间: 2008-3-8 21:11
这是我改过的:
@echo off
echo 正在清除"%~nx1"文件,请稍等......
del c:\"%~nx1" /f/s/q/a
del d:\"%~nx1" /f/s/q/a
del e:\"%~nx1" /f/s/q/a
del f:\"%~nx1" /f/s/q/a
del g:\"%~nx1" /f/s/q/a
del h:\"%~nx1" /f/s/q/a
echo 清除完毕!
echo. & pause
还有一个问题,我想在执行前提示确认,但是用CHOICE却提示'choice' 不是内部或外部命令,也不是可运行的程序?我应该怎么写?
这是我试写的,不能用,选择语句我不会写。
@echo off
echo 即将删除硬盘上所有的"%~nx1"文件!
choice /c y /m 确认请按y,否则请关闭窗口。
echo 正在清除"%~nx1"文件,请稍等......
del c:\"%~nx1" /f/s/q/a
del d:\"%~nx1" /f/s/q/a
del e:\"%~nx1" /f/s/q/a
del f:\"%~nx1" /f/s/q/a
del g:\"%~nx1" /f/s/q/a
del h:\"%~nx1" /f/s/q/a
echo 清除完毕!
echo. & pause
[
Last edited by lfplft on 2008-3-8 at 09:17 PM ]
作者: suntb
时间: 2008-3-8 22:57
'choice' 不是内部或外部命令,说明你机子内没有这个choice程序
可改为
set /p a=确认请按任意键,否则请关闭窗口
作者: lfplft
时间: 2008-3-9 00:25
好了!好了!我终于弄好了。
@echo off
echo 即将删除硬盘上所有的"%~nx1"文件!
set /p a=确认请按任意键,否则请关闭窗口。
echo 正在清除"%~nx1"文件,请稍等......
del c:\"%~nx1" /f/s/q/a
del d:\"%~nx1" /f/s/q/a
del e:\"%~nx1" /f/s/q/a
del f:\"%~nx1" /f/s/q/a
del g:\"%~nx1" /f/s/q/a
del h:\"%~nx1" /f/s/q/a
echo 清除完毕!
echo. & pause
挺好用的,多谢各位指教!
我刚开始学习批处理,感觉挺有意思的。
多谢!多谢!
作者: jinlizhpc
时间: 2008-3-9 02:13
楼上的不能按任意键开始,只能按回车键开始
@echo off
echo 即将删除硬盘上所有的"%~nx1"文件!
set /p a=请按确认键开始,否则请关闭窗口。
echo 正在清除"%~nx1"文件,请稍等......
del c:\"%~nx1" /f/s/q/a
del d:\"%~nx1" /f/s/q/a
del e:\"%~nx1" /f/s/q/a
del f:\"%~nx1" /f/s/q/a
del g:\"%~nx1" /f/s/q/a
del h:\"%~nx1" /f/s/q/a
echo 清除完毕!
echo. & pause
如果自动执行则:
@echo off
echo 即将删除硬盘上所有的"%~nx1"文件!
echo 正在清除"%~nx1"文件,请稍等......
del c:\"%~nx1" /f/s/q/a
del d:\"%~nx1" /f/s/q/a
del e:\"%~nx1" /f/s/q/a
del f:\"%~nx1" /f/s/q/a
del g:\"%~nx1" /f/s/q/a
del h:\"%~nx1" /f/s/q/a
echo 清除完毕!
echo. & pause
作者: lfplft
时间: 2008-3-17 16:28
Quote: |
Originally posted by jinlizhpc at 2008-3-9 02:13:
楼上的不能按任意键开始,只能按回车键开始
@echo off
echo 即将删除硬盘上所有的"%~nx1"文件!
set /p a=请按确认键开始,否则请关闭窗口。 ... |
|
不好意思,我没看明白,怎么才能“只能按回车键开始”?
作者: dslz666
时间: 2008-3-18 19:09
好贴,学习了,,谢谢
作者: tempuser
时间: 2008-3-19 15:56
标题: 能帮助解释一下吗?
Quote: |
Originally posted by jinlizhpc at 2008-3-9 02:13:
楼上的不能按任意键开始,只能按回车键开始
@echo off
echo 即将删除硬盘上所有的"%~nx1"文件!
set /p a=请按确认键开始,否则请关闭窗口。 ... |
|
拖动一个文件到这个批处理既执行自动删除.
那么请问我拖动的这个文件是作为
%~nx1
的第一个参数吗?
如果不是,%~nx1中的1是什么概念,如果我想拖动多余一个文件该怎么作呢?
另外请教,如果做一个批处理,它里面有两个菜单选项,我希望其中一个菜单能实现以上功能,该如何实现呢?