问题标签 [copy-item]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - 如何在 Powershell 数组中搜索特定字符串并在 copy-item -include 脚本中使用此结果
我正在尝试在 Powershell 中创建一个同步脚本,以便我在 MDT 中的应用程序根据文件夹名称定期复制到我们的主文件服务器(在 MDT 中,应用程序位于一个文件夹中,我们的主服务器有应用程序根据使用它们的部门进行拆分)。
从我在网上阅读的内容来看,最好的方法是用“Get-ChildItem”填充一个数组,我有点想知道该怎么做(见下面的代码)。
但是,在填充数组后,我不知道如何在该数组中搜索特定结果,也不知道如何将这些结果与复制项一起使用。
简而言之,这就是我需要做的事情:使用“Get-ChildItem”构建一个数组,查询结果数组以查找特定文件夹,并将这些文件夹复制到特定目的地。
这是我到目前为止的代码:
在此先感谢您的帮助 :)
powershell - Power Shell cmdlet Copy-Item 和 Start-Bitstransfer 之间的区别
有人可以解释一下 Power Shell “Copy-Item” 和 “Start-Bitstransfer” cmdlet 之间的区别吗?我将使用这些 cmdlet 之一将文件从远程共享复制到我的本地计算机。我现在可以使用凭据参数运行它们。我只是想知道主要区别是什么。
powershell - Powershell:使用数组和 gci
提前感谢您的帮助。我是powershell的新手,对于noobish问题很抱歉。
问题:我将带有文件名的 csv 导入到数组中。该数组由数字(即95325866256)组成,文件名是什么。我的目标是使用阵列中的 ID 从远程系统复制所有文件。这是我尝试过的:
但我错过了给 gci 实际数组值(文件名)的点。
感谢帮助!
powershell - 不支持 Copy-Item Failing Given Paths 格式
这让我很生气。我假设我错过了一些愚蠢的东西,但我尝试了大约 10 种不同的格式,但没有任何效果。
这是我正在运行的代码:
这是错误消息:
我知道在谷歌搜索中有一百万个问题,但看起来我正在做他们正在做的事情。对格式有什么想法吗?
powershell - 错误“复制项目:操作成功完成”但它有效吗?
我正在尝试在 powershell 中运行以下步骤,该步骤会出错。该文件正在被复制,所以我很想用 Force 和 ErrorAction SilentlyContinue 来解决它。但是为什么会这样呢?无论 Force 标志如何,也无论目标位置中是否存在文件,它都会发生。
请注意,所有位置都是 UNC 路径。添加了一些可能会有所作为的额外部分(?)。
错误信息:
请求的完整错误消息 () :
powershell - Copy-Item 无法使用远程 PowerShell 将文件从网络共享复制到远程服务器上的本地驱动器
New-Item 创建目录没有问题:
Copy-Item 不会出错,但不会复制任何文件
如果我直接在远程服务器上运行相同的 Copy-Item 命令,它就可以工作!
}
powershell - 递归地将文件从源复制到单个目录,包括搜索 ZIP 文件
我想使用 Powershell 递归地将一组特定的文件从一系列子目录复制到一个文件夹中(没有源文件夹结构)。这些文件都遵循文件名格式“Writing (*).xlsm”。此外,一些目录的文件存储在 ZIP 文件中,我想在这些 ZIP 文件中搜索相同的文件名。
我见过很多可以复制文件的解决方案,但结果会重新创建文件所在的文件夹结构,但我需要将它们全部捕获到一个目录中,而且我还没有看到任何似乎包含以下功能的东西将 ZIP 文件的打开添加到搜索中。
powershell - PowerShell 将文件复制到目标的子文件夹,同时排除目标中的某些文件夹
所以我一整天都在跳舞,而永恒的短语“给猫剥皮的方法不止一种”,所以我决定去社区。
设想:
源文件夹“C:\Updates”有 100 个不同扩展名的文件。只需将所有内容复制到“C:\Prod\”的子文件夹,覆盖它可能找到的任何重复项。
注意事项:
“C:\Prod”中的子文件夹名称(目的地)非常动态且经常更改。
命名约定用于确定在复制源文件时需要排除目标中的哪些子文件夹(以保留原始版本)。为了便于解释,假设任何以“!stop”开头的文件夹名称都应从复制过程中排除。(!stop* 如果考虑通配符)
所以,如果幸运的话,我希望那些比我更伟大的人在 PS 中解决这个问题。我今天修改了 Copy-Item 和 xcopy,所以我很高兴听到其他人的意见。
谢谢!
-克里斯
powershell - 使用 copy-item 命令时,Powershell 不排除特定的子文件夹
我对PS有点新笨。我已经完成了这里记录的所有问题,并尽我所能为我工作,但不幸的是并没有像我想要的那样为我工作。
我试图复制整个文件夹结构,但不包括一些。例如,我想将整个 c:\Program Files\myTest 复制到目标 C:\Program Files\TargetTest (不包括以下文件夹) c:\Program Files\myTest\_Backup 和 c:\Program Files\myTest\Processor\Reports
当我运行上面的代码时,它会复制所有内容并排除唯一的 _Backup 但无论如何都会复制 Reports 文件夹/文件,我不想被复制。
有人可以调查一下并指出我做错了什么。
非常感谢
powershell - PowerShell 批量复制到具有多项检查的域计算机
我正在尝试将许可证文件复制到所有加入域的计算机,并且我只能使用 PowerShell。GPO 甚至 (GPO) 计划任务是不可行的,因为在 Server 2003 环境中这些似乎还不可能。这涉及的应用程序已经安装,只需要覆盖许可证文件。
我希望实现: - 检查是否在线,否则跳过 - 检查 32b 文件夹位置,如果存在,则复制,否则跳过 - 检查 64b 文件夹位置,如果存在则复制,否则跳过 - 将每台计算机的结果写入日志文件所以我可以修剪成功
第一次尝试;
我目前拥有的代码:
我尝试了一些小的变化,但我似乎无处可去。还需要创建日志记录。
使用我自己作为测试目标,运行以上变量,并使用单个命令;
$TestPath32 = 测试路径 -path "\$computer\$dest32b*"
返回:真
复制项目 $source -Destination "\$computer\$dest32b" -recurse -force -verbose
成功,并复制文件
此刻运行 PowerShell 抱怨最后一个 ELSE 语句。
但大多数时候它未能识别我没有 64b 文件夹,它要么给出错误,要么放置一个文件,目录作为文件名。
我很茫然,现在已经尝试了很多事情,我害怕刹车我所拥有的那一点点。
第二次尝试;
我已经编辑了代码并注释掉了一些部分,只是为了让一个工作 > 模型从那里取得进展。
现在返回:
我可以向你保证,我确实有 32b 路径。复制项不放置文件。我显然没有 64b 路径,我觉得它在此中断,而不是像它应该的那样整齐地返回 $false。
当我弄乱他的路径时(因为我认为这是失败的原因),它有时会在名为“ALM - 自动登录模块”的程序文件中放置一个文件,这是许可证文件的大小。
同样,如果我
Copy-Item $source -Destination "\\$computer\$dest32b\"
作为独立运行该行,它会复制文件。
第三次尝试,现在工作;
!$ 的使用完全超出了我的想象,我应该从以下方面工作:
如果不是,那么,否则
现在脚本跳过不存在的文件夹,还无法测试停机计算机,但我认为这现在也可以工作。
现在我需要弄清楚的是如何以可读格式将输出记录到 1 个日志文件中