Я пытаюсь организовать большое количество файлов .doc и .docx, но кажется, что их метаданные «Дата изменено» и «Дата создания» неверны - вероятно, все это было потеряно во время перемещения некоторое время назад. Однако метаданные «Дата последнего сохранения» и «Созданные контентом» выглядят правильно, поэтому мне интересно: возможно ли использовать Powershell для замены полей «Дата изменения» и «Дата создания» на информацию из раздела «Дата последней сохраненной» и «Созданный контент». Date last saved "и" Content created "?Как заменить дату, измененную на последнюю сохраненную дату?
ответ
CreationTime
и LastWriteTime
- это свойства файловой системы, их можно получить и установить с помощью get-itemproperty
и set-itemproperty
.
Creation date
и Last save time
- это специфичные для текста свойства. The Scripting Guy рассказывает вам, как их читать. Как только вы их прочитаете, установите их с помощью set-itemproperty
.
Вот пример того, как читать свойства двух слов и записывать их в свойства файловой системы для всех файлов *.doc
и *.docx
в текущем каталоге.
$includeExtensions = @(".doc", ".docx")
$path = "."
$docs = Get-ChildItem -Path $path | ?{$includeExtensions -contains $_.Extension}
foreach($doc in $docs) {
$application = New-Object -ComObject word.application
$application.Visible = $false
$document = $application.documents.open($doc.FullName)
$binding = "System.Reflection.BindingFlags" -as [type]
$properties = $document.BuiltInDocumentProperties
$lastsavetime = $null
$creationdate = $null
foreach($property in $properties)
{
$pn = [System.__ComObject].invokemember("name",$binding::GetProperty,$null,$property,$null)
trap [system.exception]
{
continue
}
if($pn -eq "Last save time") {
$lastsavetime = [System.__ComObject].invokemember("value",$binding::GetProperty,$null,$property,$null)
} elseif ($pn -eq "Creation date") {
$creationdate = [System.__ComObject].invokemember("value",$binding::GetProperty,$null,$property,$null)
}
}
$document.Close()
$application.quit()
"Setting " + $doc.FullName
Set-ItemProperty $doc.FullName -Name "Creationtime" -Value $creationdate
Set-ItemProperty $doc.FullName -Name "LastWriteTime" -Value $lastsavetime
}
Эй, спасибо за вашу помощь! Извините, но я действительно не знаю, что я делаю. Я выяснил, как получить список всех файлов '.doc' и' .docx', которые мне нужно изменить с помощью '$ includeExtensions = @ (" .doc "," .docx ") Get- ChildItem -Path "E: \ Google Диск \ Фактические документы \ Стихи" | ? {$ includeExtensions -contains $ _. Extension} ' Но я не знаю, как передать это во вторую часть скрипта, в частности' $ application.documents.open'. Я также не знаю, как сохранить значения «Дата создания» и «Последнее время сохранения» в качестве переменных из этого раздела скрипта. – RSXS
Итак, вы в основном говорите, что у вас нет ни малейшего представления об основных понятиях PowerShell или программирования. См. Отредактированный ответ для полного рабочего кода. Пожалуйста, отметьте это как правильный ответ. – Marc
- 1. Показать последнюю сохраненную дату на листе
- 2. Как найти последнюю измененную дату веб-страницы?
- 3. Найти последнюю измененную дату файла в какао
- 4. Получить последнюю измененную дату файла в VB6
- 5. Сохраняет ли SQLite последнюю измененную дату строки?
- 6. Получить последнюю измененную дату удаленного файла
- 7. Wordpress (база данных); Показать последнюю измененную дату?
- 8. Получить последнюю измененную дату файла excel
- 9. Распечатайте последнюю измененную дату файла в Bash
- 10. Получить последнюю измененную дату файла в sitecore
- 11. Получить последнюю Измененную дату файлов в каталоге
- 12. Joomla - добавить последнюю измененную дату в категорию
- 13. Как получить последнюю измененную дату из файла apk на сервере
- 14. Как получить последнюю измененную дату файла в ASP.NET Core MVC?
- 15. Как вернуть последнюю измененную дату в SQL Server 2005?
- 16. Как получить последнюю измененную дату из файла последовательности Hadoop?
- 17. Как получить последнюю измененную дату файла в командной строке Windows?
- 18. Как получить последнюю измененную дату, если вы нажмете ссылку?
- 19. Как я могу получить последнюю измененную дату сборки?
- 20. Как получить последнюю измененную дату файла в нескольких каталогах?
- 21. Как узнать созданную дату/последнюю измененную дату профилей безопасности на стороне в CRM?
- 22. Восстановить дату, сохраненную как строка
- 23. GAE Python: как получить последнюю измененную дату статического файла
- 24. Как получить последнюю измененную дату в списке SharePoint (SPList)
- 25. Как получить последнюю измененную дату в угловом JS
- 26. Как получить последнюю измененную дату каталога в Amazon S3?
- 27. Возможно ли получить последнюю измененную дату файла с помощью Javascript?
- 28. Получить фактическую последнюю измененную дату для запрашиваемой страницы в WebForms
- 29. ASP.NET MVC, получающий последнюю измененную дату/FileInfo of View
- 30. Apache 2.2.17 не возвращает последнюю измененную дату статического файла https
Несомненно, это возможно. Просто прочитайте метаданные из файла и измените атрибуты файла. –