[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何保证del.bat运行的时候,自身不被程序删除?

  1. @echo off
  2. del *.bat/q/s
  3. del *.dat
  4. pause
复制代码
这样一执行,删除的批处理也被删除了,每次在根目录下执行,都会如此,虽然可以自己重新再写一边,或者加路径,
,但是总觉得很麻烦,有没有办法,就是删除所有子目录下的BAT和DAT的文件,而保证del.bat 不被删除?

请教一下大家~

如果是我的话,我会首先考虑用for和if来做排除自我这个效果。
像这样:
  1. @echo off
  2. for /r “%cd%” %%i in (*.bat *.dat) do (
  3. if not "%%i"=="%~f0" (
  4.   del "%%i"
  5. )
  6. )
复制代码

TOP

首先纠正你一个错误,bat文件名不能使用cmd内部命令的,用del.bat文件名本身就是错

TOP

  1. del *.bat  <%0 2>nul
复制代码
回复 3# fastslz

内部命令是优先的,外部命令才会出问题
不过用命令作为脚本名称总不是个好习惯

TOP

返回列表