Batch file 如何在batchfile中显示文件名和最新创建日期
我通过运行下面的批处理脚本创建了一个批处理脚本。它在一个文件中显示最新创建的.bak文件和该输出存储 现在我需要该文件的创建日期的一个附加属性,但检索失败。我希望有人能指导我 下面是我脚本的示例代码Batch file 如何在batchfile中显示文件名和最新创建日期,batch-file,cmd,windows-scripting,Batch File,Cmd,Windows Scripting,我通过运行下面的批处理脚本创建了一个批处理脚本。它在一个文件中显示最新创建的.bak文件和该输出存储 现在我需要该文件的创建日期的一个附加属性,但检索失败。我希望有人能指导我 下面是我脚本的示例代码 SETLOCAL ENABLEDELAYEDEXPANSION for /D %%a in (C:\BACKUP\*) do ( SET var="%%a" echo The ServerName is :: !var! >>1.txt & echo.>&g
SETLOCAL ENABLEDELAYEDEXPANSION
for /D %%a in (C:\BACKUP\*) do (
SET var="%%a"
echo The ServerName is :: !var! >>1.txt & echo.>>1.txt
for /R /D %%b in ("%%a\*") do (
SET var1="%%b"
SET var2="%%~nb"
echo the subfolder of !var! is:: '' !var2!>>1.txt & echo.>>1.txt
for /f %%x in ('DIR /B /A-D /OD /T:C "%%b\*.bak"') do (set
bakFile="%%x"
)
echo The Latest Bak File is :: !bakFile! >> 1.txt & echo.>>1.txt
)
)
PowerShell将允许您直接访问
CreationTime
。将以下脚本保存在文件中,例如latestbak.ps1
[CmdletBinding()]
Param()
Get-ChildItem -Directory -Path 'C:\src\t' |
ForEach-Object {
$ServerName = $_.Fullname
Write-Information $("The ServerName is :: `"{0}`"" -f $($ServerName))
Get-ChildItem -Directory -Recurse -Path $ServerName -ErrorAction SilentlyContinue |
ForEach-Object {
Write-Information $("the subdirectory of `"{0}`" is:: '' `"{1}`"" -f $($(Split-Path -Path $_.FullName), $_.Name))
Get-ChildItem -File -Path $_.FullName -Filter '*.ps1' | Sort-Object -Property CreationTime | Select-Object -Last 1 |
ForEach-Object {
Write-Information $("The latest Bak File is :: `"{0}`"" -f $($_.FullName))
}
}
}
使用以下命令从PowerShell控制台运行此命令:
.\latestbak.ps1 -InformationAction Continue 6>1.txt
或者,使用以下命令从cmd shell:
powershell -NoProfile -Command ".\latestbak.ps1 -InformationAction Continue 6>1.txt"
我已经编辑了您的代码,以修复不平衡的括号,并缩进它的可读性。但是,我没有将明显的错误行
9
修改为10
,我将把它留给您来解决!此外,您还声明未能检索文件的创建日期,但查看代码,它似乎甚至没有尝试检索该文件。请通过更新您的问题,以包含失败的代码,以便我们可以帮助您解决问题。没有做到这一点意味着你在要求别人为你工作!如果您对“上次写入访问”感到满意,只需使用%%~tx
(它不是“创建”日期,但对于.bak
文件应该足够了)。获取“上次写入访问”日期的代码要多一点(解析dir
output或解析`wmic datafile where name=“C:\\path\\file.ext”get CreationDate'))@stephan我尝试了一个简单的程序,它没有进入子文件夹,它工作得很好,我能够获取获取日期和文件名,但当它进入子文件夹时,它将无法检索时间