哆啦a梦猫狗时空传国语:复制不同文件夹下的同名文件至同一文件夹下并自动重命名的批处理

来源:百度文库 编辑:中财网 时间:2024/05/08 19:14:50
复制不同文件夹下的同名文件至同一文件夹下并自动重命名的批处理 收藏
@echo off
setlocal enabledelayedexpansion  //告诉CMD要启用延迟的环境变量
set count=0
for /f "delims=" %%a in ('dir /b /ad "C:\test\source"') do ( // /b使用空格式(无标题信息或摘要)/ad表示显示目录
 set /a count+=1   // /a指定等号右边的字符串为数字表达式
  copy /y "C:\test\source\%%a\log.txt" "C:\test\dest\log!count!.txt"  // /y不使用确认是否要改写现有目标文件的提示
)当CMD读取了一条完整的语句之后,它不会立即执行变量的扩展行为,而会在某个单条语句执行之前再进行扩展,也就是说,这个扩展行为被“延迟”了。在许多可见的官方文档中,均将使用一对百分号闭合环境变量以完成对其值的替换行为称之为“扩展(expansion)”,这其实是一个第一方的概念,是从命令解释器的角度进行称谓的,而从我们使用者的角度来看,则可以将它看作是引用(Reference)、调用(Call)或者获取(Get)。      而命令解释器是扩展环境变量的行为大致如下:首先读取命令行的一条完整语句,在进行一些先期的预处理之后,命令被解释执行之前,会对其中用百分号闭合的字符串进行匹配,如果在环境空间中找到了与字符串相匹配的环境变量,则用其值替换掉原字符串及百分号本身,如果未得到匹配,则用一个空串替换,这个过程就是环境变量的“扩展”,它仍然属于命令行的预处理范畴。      而一条“完整的语句”,在NT的命令解释器CMD中被解释为“for if else”等含有语句块的语句和用“& | && ||”等连接起来的复合语句。      因此,当CMD读取for语句时,其后用一对圆扩号闭合的所有语句将一同读取,并完成必要的预处理工作,这其中就包括环境变量的扩展,所以在for中的所有语句执行之前,所有的环境变量都已经被替换为for之前所设定的值,从而成为一个字符串常量,而不再是变量。无论在for中将那些环境变量如何修改,真正受到影响的只是环境变量空间,而非for语句内部。延迟环境变量扩展特性在CMD中缺省是关闭的,开启它的方法目前有两个:一是CMD /v:off,它会打开一个新的命令行外壳,在使用exit退出这个外壳之前,扩展特性始终有效,常用于命令行环境中;二setlocal EnableDelayedExpansion,它会使环境变量的修改限制到局部空间中,在endlocal之后,扩展特性和之前对环境变量的修改将一同消失,常用于批处理语句中。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/doudou321/archive/2009/07/19/4358885.aspx
怎么样将安装文件以及整个Data文件夹复制到你的日本版RapeLay安装目录下,覆盖同名文件即可。 如何用ASP实现不同目录文件夹复制包括文件下没有文件 请教一个批处理的问题(删除所有文件夹下的同名文件) 如何将一个文件夹及其子文件夹下的所有一类文件复制到另一个文件夹下? dos下的复制文件夹不能复制子文件夹? dos下复制文件夹及子文件夹用的指令? 同一个安装文件夹下的 setup 与*.msi 有什么不同.它们都安装同一软件 在DOS下如何将软驱上的文件复制到WINDOWS某文件夹下 DOS下复制某个文件到另个文件夹下的命令是什么 DOS下怎么复制文件夹 怎样将Temporary Internet Files文件夹内的同名文件复制出来? 怎样把从很多文件夹中搜索出的若干个同名文件全部复制到另一个文件夹中? DOS怎么复制一个文件到另一个文件夹下 dos下怎样复制整个文件夹和子文件 请问:在IIS中网站同一文件夹下的文件数量有限制吗? 简述将C盘下my picture文件夹下的所有文件复制到D盘根目录下“辽宁省”文件夹下的操作步骤 请教:如何在DOS下将C盘文件复制到D盘,我要复制的这个文件夹下面还有好多下以级文件夹,怎么弄? 在dos下复制文件时,如何跳过同名文件,既不复制同名文件 复制目录下所有文件及子目录到另一文件夹,并保持同样的目录结构 急求,如何在纯dos下复制系统属性的文件和文件夹 重装系统时I386下的LANG文件夹中有一个文件未被复制成功 系统文件夹下的template文件夹和shellnew文件夹里的内容有什么不同?谢谢 找文件,我下的文件夹不见了 如何打印文件夹下的文件内容?