使用文件名作为Powershell函数/脚本的参数

安东尼奥·吉尔

下午好

最近,我一直在尝试修改此powershell脚本(来自“嘿,脚本专家!博客”),以修改单个文件而不是文件夹文件的文件时间戳(CreationTime,LastAccessTime和LastWriteTime)。但是,在进行修改后,我一直遇到问题。

原始脚本如下:

Set-FileTimeStamps function

Function Set-FileTimeStamps
{
    Param (
        [Parameter(mandatory=$true)]
        [string[]]$path,
        [datetime]$date = (Get-Date))
    Get-ChildItem -Path $path |
    ForEach-Object {
        $_.CreationTime = $date
        $_.LastAccessTime = $date
        $_.LastWriteTime = $date
    }
} #end function Set-FileTimeStamps

修改后的是这样的:

Function Set-FileTimeStamps
{
    Param (
        [Parameter(mandatory=$true)]
        [string]$file,
        [datetime]$date = (Get-Date))
    $file.CreationTime = $date
    $file.LastAccessTime = $date
    $file.LastWriteTime = $date
} #end function Set-FileTimeStamps

当我尝试运行脚本时,会引发以下错误:

Property 'CreationTime' cannot be found on this object; make sure it exists and is settable.
At C:\Users\Anton\Documents\WindowsPowerShell\Modules\Set-FileTimeStamps\Set-FileTimeStamps.psm1:7 char:11
+ $file. <<<< CreationTime = $date
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : PropertyAssignmentException

因此,我不清楚在修改原始脚本时我哪里失败了,如果有人能为我指明正确的方向,我将不胜感激。

提前致谢。

CB。

该类型[string]没有CreationTimeLastAccessTimeLastWriteTime属性仅仅是因为是一个文件名...它始终是一种[string]类型。您需要将一种[system.io.fileinfo]类型作为脚本的参数传递或强制转换为该类型:

Function Set-FileTimeStamps
{
    Param (
        [Parameter(mandatory=$true)]
        [string]$file,
        [datetime]$date = (Get-Date))

        $file = resolve-path $file     
        ([system.io.fileinfo]$file).CreationTime = $date
        ([system.io.fileinfo]$file).LastAccessTime = $date
        ([system.io.fileinfo]$file).LastWriteTime = $date
    } #end function Set-FileTimeStamps

在原始脚本中,该cmdletGet-ChildItem -Path $path返回[fileinfo]类型,这就是它起作用的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

bash函数,该函数接收文件名作为参数或使用标准输入

来自分类Dev

如何使用文件名作为变量

来自分类Dev

Matlab:使用文件名作为变量

来自分类Dev

如何在Python中以文件名作为参数编写函数?

来自分类Dev

在批处理文件中使用文件名作为参数

来自分类Dev

在批处理文件中使用文件名作为参数

来自分类Dev

使用 bash 脚本和 exiftool 添加部分文件名作为 PDF 元数据

来自分类Dev

运行脚本时以文件名作为输入

来自分类Dev

部分文件名作为 Shell 脚本输入

来自分类Dev

将文件扩展名作为参数传递给 powershell 脚本

来自分类Dev

如何使用路径和文件名作为更改参数打开Excel工作簿

来自分类Dev

如何使用以连字符“-”开头的文件名作为命令参数?

来自分类Dev

以url扩展名作为参数的文件名

来自分类Dev

在 ruby 中将文件名作为参数传递

来自分类Dev

带有文件名作为变量的Powershell ForEach循环

来自分类Dev

以文件名作为参数并从Unix / Linux / Ubuntu中pwd上方每个目录删除此文件的shell脚本

来自分类Dev

Shell 脚本:将文件名作为参数,并在标准输出上显示文件的内容,并带有行号前缀

来自分类Dev

Bash:使用文件名作为通配符的命令

来自分类Dev

使用文件名作为数据帧中的列标题

来自分类Dev

为什么python configParser.read 只能使用文件名作为参数来读取配置文件

来自分类Dev

使用文件名作为属性值(Powershell或批处理文件)搜索和替换XML属性

来自分类Dev

在 bash 别名中使用文件名作为参数,如果不存在则使用默认值

来自分类Dev

以文件名作为参数并从Unix / Linux / Ubuntu中pwd上方每个目录中删除此文件的shell脚本

来自分类Dev

何时使用带文件名或文件名的字符串作为构造函数的参数?

来自分类Dev

Python Pandas:应用使用列名作为命名参数的函数

来自分类Dev

如何让wget使用直接URL文件名作为缩短URL的输出文件名

来自分类Dev

GNUplot输入文件名作为变量

来自分类Dev

在PowerBI中将文件名作为度量

来自分类Dev

如何将文件名作为.BAT文件调用中的参数传递

Related 相关文章

  1. 1

    bash函数,该函数接收文件名作为参数或使用标准输入

  2. 2

    如何使用文件名作为变量

  3. 3

    Matlab:使用文件名作为变量

  4. 4

    如何在Python中以文件名作为参数编写函数?

  5. 5

    在批处理文件中使用文件名作为参数

  6. 6

    在批处理文件中使用文件名作为参数

  7. 7

    使用 bash 脚本和 exiftool 添加部分文件名作为 PDF 元数据

  8. 8

    运行脚本时以文件名作为输入

  9. 9

    部分文件名作为 Shell 脚本输入

  10. 10

    将文件扩展名作为参数传递给 powershell 脚本

  11. 11

    如何使用路径和文件名作为更改参数打开Excel工作簿

  12. 12

    如何使用以连字符“-”开头的文件名作为命令参数?

  13. 13

    以url扩展名作为参数的文件名

  14. 14

    在 ruby 中将文件名作为参数传递

  15. 15

    带有文件名作为变量的Powershell ForEach循环

  16. 16

    以文件名作为参数并从Unix / Linux / Ubuntu中pwd上方每个目录删除此文件的shell脚本

  17. 17

    Shell 脚本:将文件名作为参数,并在标准输出上显示文件的内容,并带有行号前缀

  18. 18

    Bash:使用文件名作为通配符的命令

  19. 19

    使用文件名作为数据帧中的列标题

  20. 20

    为什么python configParser.read 只能使用文件名作为参数来读取配置文件

  21. 21

    使用文件名作为属性值(Powershell或批处理文件)搜索和替换XML属性

  22. 22

    在 bash 别名中使用文件名作为参数,如果不存在则使用默认值

  23. 23

    以文件名作为参数并从Unix / Linux / Ubuntu中pwd上方每个目录中删除此文件的shell脚本

  24. 24

    何时使用带文件名或文件名的字符串作为构造函数的参数?

  25. 25

    Python Pandas:应用使用列名作为命名参数的函数

  26. 26

    如何让wget使用直接URL文件名作为缩短URL的输出文件名

  27. 27

    GNUplot输入文件名作为变量

  28. 28

    在PowerBI中将文件名作为度量

  29. 29

    如何将文件名作为.BAT文件调用中的参数传递

热门标签

归档