Как отобразить имя файла и дату последнего создания в пакетном файле - PullRequest
0 голосов
/ 08 июня 2018

Я создал один пакетный скрипт, запустив следующий пакетный скрипт.Он отображает последний созданный файл .bak и это хранилище выходных данных в одном файле.

Теперь мне нужен один дополнительный атрибут Дата создания этого файла, но не удалось его получить.Я надеюсь, что кто-то может направить меня.

вот пример кода моего сценария

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
    )
)

1 Ответ

0 голосов
/ 09 июня 2018

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, используя:

powershell -NoProfile -Command ".\latestbak.ps1 -InformationAction Continue 6>1.txt"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...