【问题标题】:Copy selected files to another folder using powershell使用 powershell 将选定的文件复制到另一个文件夹
【发布时间】:2018-02-26 18:11:24
【问题描述】:

我正在努力完成以下工作:

  1. 打开 Windows 文件资源管理器并导航到特定文件夹。
  2. 使用鼠标选择该文件夹中的某些文件和/或文件夹。
  3. 编写一个 powershell 脚本来检测我选择的文件/文件夹,并复制到另一个位置。

我需要知道的是,powershell 有没有办法检测我在文件资源管理器中选择的文件?我试图在网上查找资源以提供一些见解,但没有运气,要么是不可能,要么是我搜索了错误的术语。

【问题讨论】:

  • 你为什么要这样做?很可能使用 OpenFileDialog 更有意义。
  • 我正在一个不受版本控制的大型网站上工作,尝试编写此脚本以将我已更改的某些文件和/或文件夹复制到另一个文件夹以区分测试站点与实时站点 - 可以是从几个文件到几百个文件的任何地方。目前我正在手动将它们复制并粘贴到一个单独的文件夹中以区分它们,寻找一种自动化过程的方法。
  • 我会试试OpenFileDialog - 看来它可以满足我的需求。
  • 我也认为 OpenFileDialog 控件(可以在 powershell 中使用)可能是最好的选择。话虽如此,您也可以将它与 Out-Gridview 一起使用。
  • 你可能想看看这个答案:stackoverflow.com/questions/15932881/…

标签: powershell


【解决方案1】:

很可能使用OpenFileDialog 更有意义。

【讨论】:

    【解决方案2】:

    类似这样的东西(按住 CTRL 键并选择您的文件)

    $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
    $OpenFileDialog.initialDirectory = "c:\temp"
    $OpenFileDialog.filter = "All files (*.*)| *.*"
    $OpenFileDialog.Multiselect=$true
    $OpenFileDialog.ShowDialog() | Out-Null
    $OpenFileDialog.FileNames | Copy-Item -Destination "C:\tempdest"
    $OpenFileDialog.Dispose()
    

    【讨论】:

      【解决方案3】:

      或者没有资源管理器(然后你可以导航,但如果你知道你的目录是另一种方法):

      Get-ChildItem "c:\temp" -file | 
          Out-GridView -Title "Select your files" -OutputMode Multiple | 
              Copy-Item -Destination "C:\tempdest"
      

      【讨论】:

        猜你喜欢
        • 2021-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-02
        • 1970-01-01
        • 2013-05-21
        • 1970-01-01
        • 2018-10-12
        相关资源
        最近更新 更多