以下批处理脚本非常适合复制目录中的最新文件,但如何相应地重命名复制的文件?
pushd D:\sales\
for /f "tokens=*" %%a in ('dir /b ') do set newest=%%a
copy "%newest%" D:\test\
popd
答案 0 :(得分:1)
目标参数可以是放入新文件的目录,但您也可以向其添加新文件名。因此,您可以执行D:\test\
D:\test\filename.ext
答案 1 :(得分:1)
此改进的代码段将您的文件重命名为new_name.ext
:
pushd D:\sales\
for /f "tokens=*" %%a in ('dir /b /o:-d /a:-d') do (
set "newest=%%~a"
goto :SKIP
)
:SKIP
copy "%newest%" "D:\test\new_name.ext"
popd
改进:
dir
定义排序顺序以获取最新文件 ,并过滤掉目录以仅获取文件; goto
内的for
打破了循环,因此只有一次迭代;这可能会在大量文件的情况下提高性能; ~
插入for
变量%%a
以避免任何周围的引号;稍后将在copy
命令行中的目的地说明;