编写一个批处理脚本,选择在远程服务器上保存最近的文件。

为了完成这个任务,可以在批处理脚本中使用 robocopy 命令将文件从远程服务器复制到本地目录,然后使用 dir 命令查找本地目录中最近的文件。以下是一个实现此目标的示例批处理脚本:

@echo off
set "remotePath=\\server\share\folder"
set "localPath=C:\Temp"
REM Copy files from remote server to local directory
robocopy "%remotePath%" "%localPath%" /E /Z /COPY:DAT /R:1 /W:1 /NP > nul
REM Change to the local directory
cd /D "%localPath%"
REM Find the most recent file
for /f "delims=" %%F in ('dir /B /O:-D') do (
set "mostRecentFile=%%~F"
goto :done
)
:done
echo The most recent file is: %mostRecentFile%

请确保将 \\server\share\folder 替换为您要访问的远程文件夹的实际路径,并将 C:\Temp 替换为您想要将文件复制到的所需本地目录路径。

脚本使用带有/E 标志的 robocopy 复制所有文件和子目录,/Z 以可恢复模式复制文件,/COPY:DAT 复制数据、属性和时间戳,/R:1 在失败的情况下重试一次,/W:1 在重试之间等待 1 秒。/NP 标志防止 robocopy 显示文件复制的进度。

在复制文件后,脚本使用cd /D“%localPath%”更改为本地目录,然后使用dir命令和/B标志列出目录中仅包含文件名,并使用/O:-D标志按日期降序排序。 for /f ​​循环捕获排序列表中的第一个文件,该文件将是最近的文件,并将其分配给mostRecentFile变量。 最后,脚本会打印最近文件的名称。

请注意,脚本假定您具有远程服务器和本地目录的适当访问权限。此外,该脚本没有处理远程服务器中没有文件或者无法访问远程服务器的情况。您可以根据自己的特定要求添加错误处理或修改脚本。

免费研究预览。ChatGPT可能会提供有关人物,地点或事实的不准确信息。ChatGPT 5月24日版本。

2023-06-15 08:38:39 AI中文站翻译自原文