如何使用批处理文件查找特定文件夹今天是否有修改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用批处理文件查找特定文件夹今天是否有修改相关的知识,希望对你有一定的参考价值。
我有一个文件夹并使用批处理文件我想知道它是否已修改(在其中创建或修改的任何文件)。
下面是获取文件夹中所有文件计数的命令。我是批处理文件的新手,不知道如何获得它,pl帮助。
set MyFolder=D:folder1
SET file_Cnt=0
for %%o IN (%MyFolder%/*.*) DO (
SET /A file_Cnt=file_Cnt+ 1
)
echo %file_Cnt%
编辑: - 我得到了这个解决方案,但唯一的问题是我想设置一个变量(对于修改过的文件的总数),这可以在以后使用。
forfiles /S /P "%MyFolder%" /M "*" /D +0 /C "cmd /C if @isdir==FALSE echo _" | find /C "_"
编辑2: - 我尝试过以下命令来设置变量但不起作用。
forfiles /S /P "%MyFolder%" /M "*" /D +0 /C "cmd /C if @isdir==FALSE echo _" | find /C "_"
echo %_% --getting echo off message
for /F %%N in ('forfiles /S /P "%MyFolder%" /M "*" /D +0 /C "cmd /C if @isdir==FALSE echo _" ^| find /C "_"') do set "NUMBER=%%N"
echo %NUMBER% --getting echo off message
echo %%N --getting echo off message
答案
我建议你使用PowerShell。
Get-ChildItem -Path 'D:Folder1' | Where-Object -FilterScript { $_.LastWriteTime.Date -eq (Get-Date).Date}
从命令提示符调用。
PowerShell.exe -c "Get-ChildItem -Path 'D:Folder1' | Where-Object -FilterScript { $_.LastWriteTime.Date -eq (Get-Date).Date}|measure | select -expand count"
另一答案
以下命令获取当天在同一天创建的当前文件夹中的所有文件的列表。
for /F "tokens=2" %i in ('date /t') do dir /T:C | findstr /C:%i /B
希望这可以帮助 !
另一答案
如果您只想输出文件名,可以尝试此命令
for /F "tokens=2" %i in ('date /t') do dir /T:C "C:Test" | findstr /C:%i /B | for /f "tokens=5" %j in ('more') do @echo %j
或者,如果您想获得计数,可以尝试此命令
for /F "tokens=2" %i in ('date /t') do dir /T:C "C:Test" | findstr /C:%i /B | find /c ":"
另一答案
for /F %%N in ('forfiles /S /P "%MyFolder%" /M "*" /D +0 /C "cmd /C if @isdir==FALSE echo _" ^| find /C "_"') do (
// we can simply get %%N here or we can also set some variable here if required.
)
另一答案
我认为这个问题的答案可以帮助你,他们有脚本从文件夹和文件中获取LastModified,LastAccessed和DateCreated。
Batch file : get the creation date of a folder
另一答案
以下是我的测试结果。你的命令@Mona中的错误是什么?
以上是关于如何使用批处理文件查找特定文件夹今天是否有修改的主要内容,如果未能解决你的问题,请参考以下文章