0

我想创建一个简单的批处理脚本:

  1. 将文件夹内的所有文件复制A到当前目录(其中还包含一些文件)
  2. 运行一些命令
  3. 删除所有复制的文件

一个直接的解决方案是遍历里面的所有文件A,复制它们并保留它们的列表。然后在最后进行清理。

但我想知道是否有更好的解决方案。

4

4 回答 4

1
@echo off
copy "c:\A\*.*" .
rem run commands
for %%a in ("c:\a\*.*") do del "%%~nxa"
于 2013-08-15T05:45:52.850 回答
0

保存文件列表,复制它们,做你的事情,然后使用你的列表删除:

dir /b A >list.txt
copy A\*.* .

rem do stuff here

for /F "delims=" %%i in (list.txt) do del %%i
del list.txt
于 2013-08-15T00:15:19.637 回答
0
@echo off &setlocal
set "folder=%userprofile%\A"
set "dirlist=my dirlist.txt"

dir /b "%folder%" > "%dirlist%"
copy "%folder%"

rem doit here

for /f "usebackq delims=" %%a in ("%dirlist%") do erase "%%~a"

照顾重复文件属于您。

于 2013-08-15T05:34:55.843 回答
0
@echo off
attrib +R *.*
copy \A\*.*
rem run commands
del *.*
attrib -R *.*

当然,此方法仅在命令不修改任何原始文件时才有效,但它更快并且还可以防止覆盖任何原始文件。

于 2013-08-15T07:12:05.323 回答