Board logo

标题: [文件操作] 为什么我的删除文件和文件夹的批处理不行? [打印本页]

作者: 悬崖之树    时间: 2012-7-8 19:29     标题: 为什么我的删除文件和文件夹的批处理不行?

本帖最后由 悬崖之树 于 2012-7-8 20:06 编辑

我的代码是:
  1. @echo off
  2. for /l %%i in (1 1 9) do (
  3. rd/s/q %%%i >nul 2>nul||del/f/q %%%i>nul 2>nul
  4. )
复制代码
我的意图是只要把文件夹或文件拖到该批处理文件上就执行删除操作。
如果拖两个文件或文件夹时也能批量删除,最多同时删9个。
还有这个也不行:
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. for /l %%i in (1 1 9) do (
  3. set a=%%i
  4. rd /s /q %!a! >nul 2>nul|| del /f /q /a %!a!>nul 2>nul
  5. )
复制代码

作者: weichenxiehou    时间: 2012-7-8 20:36

回复 1# 悬崖之树
因为%1的优先级要高于%%i或%var%这些形式,所以不能先处理%%i或%var%还想让%1生效,试试:
  1. rd /s /q %*||del /a /q /f %*
复制代码

作者: apang    时间: 2012-7-8 20:39

  1. @echo off
  2. for /l %%i in (1 1 9) do (
  3.   call rd /s /q %%%%i >nul 2>&1||call del /f /q %%%%i >nul 2>&1
  4. )
复制代码

作者: yangfengoo    时间: 2012-7-8 20:42

@for %%a in (%*) do rd /q /s "%%a">nul 2>nul||del /a /f "%%a">nul 2>nul




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2