我正在寻找一个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
答案 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
。