此任务的批处理文件代码可能是:
@echo off
for /R "%USERPROFILE%\desktop\upload" %%I in ("*Reporting Assessment Tool.xlsx") do (
copy /-Y "%%I" "%USERPROFILE%\desktop\tool\%%~nxI"
)
这可以用在批处理文件中的一个命令行也做:
@for /R "%USERPROFILE%\desktop\upload" %%I in ("*Reporting Assessment Tool.xlsx") do @copy /-Y "%%I" "%USERPROFILE%\desktop\tool\%%~nxI"
区分大小写的环变量I
在每个循环中保持具有完整路径的文件的名称,而不在指定目录或该目录的任何子目录中找到与文件名称模式*Reporting Assessment Tool.xlsx
匹配的双引号。
要复制找到的文件并提示批处理文件的用户在目标目录中覆盖已存在的具有相同名称的文件,必须将指定给循环变量的字符串指定为第一个参数,并将第二个参数指定为目标路径以及找到的文件的文件名和文件扩展名,不含路径。这解释了COPY命令行中"%%I"
(文件名的扩展名和完整路径用双引号括起来)和"Target Path\%%~nxI"
(只是文件名和文件扩展名,固定目标路径用双引号括起来)的用法。
为了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。
%USERPROFILE%
引用预定义的环境变量USERPROFILE
保持该路径来分析当前用户帐户的目录。
在没有使用Windows资源管理器的批处理文件的情况下执行此任务将非常容易。
- 导航到文件夹中
%USERPROFILE%\desktop\upload
- 运行文件夹为
*Reporting Assessment Tool.xlsx
Windows资源管理器搜索自动搜索该文件夹和所有子文件夹匹配该文件名模式的文件递归。
- 选择所有找到的文件与Ctrl + A(全选)。
- 准备复制所有选定的文件与Ctrl + C(复制)。
- 导航到文件夹
%USERPROFILE%\desktop\tool
- 粘贴用于与Ctrl + V键(粘贴),这导致现在复制文件复制制得的文件。
这不是一个免费的代码写作服务,所以请您共享您尝试过的内容,并准确描述您卡在哪里!在这里学习[如何提问](http://stackoverflow.com/help/now-to-ask)! – aschipfl
谢谢 - 添加代码。在原始评论中 – Julia
在'* Reporting Assessment Tool.xlsx'周围添加引号,并用'“%%〜a”替换“%% a”';否则白色空间的干扰... – aschipfl