Batch file 批处理脚本-重命名复制的文件
下面的批处理脚本非常适合复制目录中最近的文件,但如何相应地重命名复制的文件Batch file 批处理脚本-重命名复制的文件,batch-file,cmd,Batch File,Cmd,下面的批处理脚本非常适合复制目录中最近的文件,但如何相应地重命名复制的文件 pushd D:\sales\ for /f "tokens=*" %%a in ('dir /b ') do set newest=%%a copy "%newest%" D:\test\ popd destination参数可以是放置新文件的目录,但也可以向其中添加新文件名。因此,您可以执行类似于D:\test\filename.ext的操作,而不是D:\test\,此改进的代码段将您的文件重命名为new\u n
pushd D:\sales\
for /f "tokens=*" %%a in ('dir /b ') do set newest=%%a
copy "%newest%" D:\test\
popd
destination参数可以是放置新文件的目录,但也可以向其中添加新文件名。因此,您可以执行类似于
D:\test\filename.ext
的操作,而不是D:\test\
,此改进的代码段将您的文件重命名为new\u 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
的for
内部打破了循环,因此只有一次迭代;这可能会在文件数量巨大的情况下提高性能李>goto
- 在变量
%%a的
中插入修饰符
,以避免任何周围的引号;这些将在后面的~
命令行中的目的地进行说明李>copy
latest
,需要将排序选项/o:d
添加到dir
命令中(除非此部分包含在变量DIRCMD
中);要重命名,请将新文件名附加到copy`命令行中的D:\test`中……您所说的“相应重命名”到底是什么意思?是否有一个固定的名称,还是需要以编程方式构建?