【问题标题】:Skip hidden files when copying with Powershell使用 Powershell 复制时跳过隐藏文件
【发布时间】:2012-04-19 19:43:49
【问题描述】:

这是我当前的脚本...

copy '.\Alfresco Development Config Files\*' C:\Alfresco\tomcat\shared\classes -rec -force

我将如何改变这样隐藏的文件被跳过?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    如果你不反对使用原生命令,那么

    robocopy '.\Alfresco Development Config Files' C:\Alfresco\tomcat\shared\classes /s /XA:H
    

    (可能需要提供源的完整路径,因为当前 PowerShell 目录和进程的当前工作目录不是一回事(一般情况下不能)。

    修复以前的 PowerShell 变体可能是可能的,但很麻烦。

    【讨论】:

    • 不幸的是,如果您有子文件夹,它就不起作用。它会拾取所有文件,但会将它们转储到一个文件夹中。
    【解决方案2】:

    可能有更简洁的方法,但也许这会有所帮助:

    $NonHiddenObjects = Compare -IncludeEqual `
     -Diff (Dir ".\Alfresco Development Config Files\" -Rec -Force | Select -Exp FullName) `
     -Ref  (Dir ".\Alfresco Development Config Files\" -Rec | Select -Exp FullName) `
     | ?{$_.SideIndicator -eq "=="} `
     | Select -Exp InputObject
    
    copy $NonHiddenObjects C:\Alfresco\tomcat\shared\classes -force
    

    【讨论】:

    • 不幸的是,如果您有子文件夹,它就不起作用。它会拾取所有文件,但会将它们转储到一个文件夹中。
    猜你喜欢
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多