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

[文件操作] 为什么我的删除文件和文件夹的批处理不行?

本帖最后由 悬崖之树 于 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. )
复制代码

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

TOP

  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. )
复制代码

TOP

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

TOP

返回列表