2017-11-13 6 views
0

約1000の共有フォルダがあり、最終更新日時を知る必要があります。 これらの共有フォルダにはサブフォルダが含まれており、ユーザーはそれらのサブフォルダ内のデータを変更できます。フォルダ内のサブフォルダの変更日を取得する

親フォルダの最終更新日を取得できるスクリプトがありますが、正しいデータが提供されていません。

$CSVFilePath = Get-Content "C:\RA\main.txt" 
$outputsss = "C:\RA\output.csv" 
foreach ($fileName in $CSVFilePath) { 
    echo $fileName; 
    if (Test-Path $fileName) { 
     $d = Get-ItemProperty -Path $fileName -Name LastWriteTime 
     $times = $fileName + " - " + $d.LastWriteTime 
     $times 
    } 
    $times | Out-File $outputsss -Encoding utf8 -Append 
    #Get-Content $filename | Out-File $outputsss -Encoding utf8 -Append 
} 

共有場所の最終更新日時はどのように取得できますか?

+0

間違ったデータと期待しているデータは何ですか? – Manu

+0

@Manuたとえば、10個のフォルダの親の名前はA、もう1つは9個のフォルダがあり、9個のフォルダにはさらに多くのフォルダがあります。それらのいずれかが更新されたら、どうすれば修正日を取得できますか?なぜなら私はAの修正日をチェックすると正しい日付が表示されないからです。 – Ironic

+0

正しい日付が表示されないのではないかと疑いますが、期待した日付が表示されないことがあります。フォルダの最終変更時刻の更新は再帰的には機能しません。 [関連](https://superuser.com/q/147524)。 [関連記事](http://www.nirsoft.net/utils/folder_time_update.html)。 –

答えて

0

私は複数回試してみましたが、以下は私を助けたスクリプトです。それがまだ実行されているので、私はそれを確認する必要があります。

$CSVFilePath = Get-Content "C:\RA\main.txt" 
$outputsss = "C:\RA\output.csv" 
foreach($fileName in $CSVFilePath) 
{ 
echo $fileName; 
If (Test-Path $fileName) { 

$latest = Get-ChildItem -Recurse -Path $fileName | Sort-Object LastAccessTime -Descending | Select-Object -First 1 
$latest.LastWriteTime 

    #$d = Get-ItemProperty -path $fileName -Name LastWriteTime 
    $times = $fileName + " - " + $latest.LastWriteTime 
$times 
    } 
$times |Out-File $outputsss -Encoding utf8 -append 

} 

私はそれが誰かにとって価値があることを願っています。

関連する問題