批处理脚本,用于在远程计算机上查找隐藏文件夹,列出修改的最后日期,并输出到日志

时间:2014-04-02 23:00:10

标签: batch-file hidden exists last-modified not-exists

我正在寻找一个Windows批处理脚本,我可以从我的管理工作站运行,它会在远程机器的C:驱动器上找到一个特定的隐藏文件夹,告诉我它是否存在,给我修改的最后日期,并将结果输出到日志文件。文件夹路径类似于“C:/ ProgramData / Folder1 / Folder2”。 “ProgramData”文件夹被隐藏,“Folder2”是我想要所有细节的文件夹(如果存在,最后修改日期)。如果可能的话,我想将其与PSEXEC结合使用。

我已经四处寻找可以工作的东西,并找到一些脚本告诉我文件夹是否存在;但我似乎无法找到我的确切方案。我熟悉脚本,但在任何想象中都不是专家。任何帮助将不胜感激!

干杯

修改

好的,这是我到目前为止所拥有的。我能够使用命令提示符使用DIR命令列出我在特定计算机上查找的子目录。它是这样的:

dir C:\ParentFolder\ChildFolder /ad /o-d /b

这显示了“ChildFolder”目录中的目录列表。输出将类似于:

dir C:\ParentFolder\ChildFolder /ad /o-d /b
folder1
folder2
folder3
folder4

所以我现在需要的是合并一种方法来显示该组中具有最新修改的文​​件夹。例如,如果“folder2”是组中最近修改过的文件夹,我希望我的命令行只显示“folder2 04/08/14 04:13 PM

1 个答案:

答案 0 :(得分:0)

再看看dir /?然后专门/T。另外if /?,您需要if exist来检查文件或目录是否存在。以下内容将获取文件夹上次写入的日期和时间(如果存在)。

@echo off
set folder=C:\ProgramData\Folder1\Folder2
if exist %folder% (
    for /f "skip=5 tokens=1,2" %%a in ('dir %folder%') do set writetime=%%a %%b & goto :break
) else echo %folder% Does Not Exist & goto :EOF
:break
echo %folder%   %writetime%

要将输出写入文件,您可以使用>(写入)或>>(追加)运算符。 echo Mate >> logfile.txt