arrays - Powershell - 从列表中搜索文件并复制到新目录
问题描述
我有一个脚本用于通过目录和子目录搜索文件。它工作得很好。
我需要修改它,将任何文件从它所在的目录复制到另一个目录。
我的脚本(如下)的问题是所有内容都保存在数组中,我无法弄清楚如何修改它以按照我需要的方式运行。
有人可以看看这个并指出我正确的方向吗?
谢谢,-罗恩
#List containing file names must be wilcarded FILE.*
#Parent folder (Where to begin search)
$folder = 'C:\Workspace\discovery-jumpstart\src'
#Missing Artifacts Folder (Where Text file resides)
$Dir2 = 'C:\Workspace\discovery-jumpstart'
#Text File Name
$files=Get-Content $Dir2\MISSING_BMS.txt
cd \
cd $folder
Write-Host "Starting Folder: $folder"
$folderFiles = (Get-ChildItem -Recurse $folder -File).Name
foreach ($f in $files) {
if ($folderFiles -contains $f) {
Write-Host "File $f was found." -foregroundcolor green
}
else {
Write-Host "File $f was not found!" -foregroundcolor red
}
}
好的。我在网上搜索时找到了一个脚本。我稍作改动并运行它。它完美无缺。唯一的问题......我完全不明白。这里的一位大师会打破这一点并解释为什么会这样吗?
谢谢,
-罗恩
#Dir to search
$source = 'C:\Temp'
#Text file with search for members
$file_source ="C:\Results_Found_Files_Scan.txt'
#where to copy the matched files
$target = 'C:\Clients'
get-content $file_source |
ForEach-Object { get-childitem -Path $source -Recurse -Filter "$_" } |
Copy-Item -Destination $target
解决方案
下面的部分需要修改为之后Write-Host "File $f was found." -foregroundcolor green
才能使用该Copy-Item
命令。
if ($folderFiles -like $f) {
Write-Host "File $f was found." -foregroundcolor green
Copy-Item (Copy-Item command and the parameters, you would like to use.)
}
推荐阅读
- java - 为什么我无法通过蓝牙 android 连接到设备?
- c# - 如何在 C# 中提交表单时在同一页面上显示 SQL 数据表?
- html - 如何将按钮添加到 html 表格单元格?
- amazon-web-services - 当 Amazon EC2 运行并通过“2/2 检查”时,ssh 没有响应
- python - 我们如何计算分页的长度
- c - 给出字符串,去掉重复项并以十六进制显示频率
- postgresql - 创建触发器以获取时间戳之间的每小时差异
- python - Paramiko:尝试在远程服务器上执行 python 时抛出错误
- c++ - 为什么需要这个布尔值以及它是如何使用的?
- java - 将循环插入 JAVA 密码生成器