我想创建一个简单的批处理脚本:
A
内的所有文件复制到当前目录(也包含一些文件)一个直接的解决方案是遍历A
内的所有文件,复制它们并保留它们的列表。然后在最后清理。
但我想知道是否有更好的解决方案。
答案 0 :(得分:1)
@echo off
copy "c:\A\*.*" .
rem run commands
for %%a in ("c:\a\*.*") do del "%%~nxa"
答案 1 :(得分: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
答案 2 :(得分: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"
照顾重复文件属于你。
答案 3 :(得分:0)
@echo off
attrib +R *.*
copy \A\*.*
rem run commands
del *.*
attrib -R *.*
当然,这种方法只有在命令不修改任何原始文件时才有效,但它更快,并且还可以防止覆盖任何原始文件。