gpt4 book ai didi

windows - 替换/更新文件共享上的特定文件

转载 作者:可可西里 更新时间:2023-11-01 11:34:11 24 4
gpt4 key购买 nike

我正在尝试搜索多个目录并替换 newfile.swf 的所有实例。

$Logfile = "C:\FOLDER\filecopy.log" 
$ServerDir = "\\SERVER\TESTING\DIRECTORY"
$SourceFile = "C:\FOLDER\newfile.swf"
$OldFiles = Get-ChildItem -path $ServerDir -Recurse -Include newfile.swf |
Sort-Object Name | Format-Table Fullname -Auto

foreach ($O in $OldFiles) {
if (Test-Path $O) {
Copy-Item $SourceFile $O -force
} else {
Add-Content $logfile "File Copy Failed"
Add-Content $logfile $error[$error.count-1]
Add-Content $logfile "==================="
}
}

下面列出了错误。

File Copy Failed System.Management.Automation.ParseException:
Unexpected token 'C:\FOLDER\newfile.swf' in expression or statement.
at System.Management.Automation.Parser.PipelineRule()
at System.Management.Automation.Parser.StatementRule()
at System.Management.Automation.Parser.StatementListRule(Token start)
at System.Management.Automation.Parser.ScriptBlockRule(String name, Boolean requireBrace, Boolean isFilter, ParameterDeclarationNode parameterDeclaration, List`1 functionComments, List`1 parameterComments)
at System.Management.Automation.Parser.ParseScriptBlock(String input, Boolean interactiveInput)
at System.Management.Automation.AutomationEngine.ParseScriptBlock(String script, Boolean interactiveCommand)
at System.Management.Automation.ScriptCommandProcessor..ctor(String script, ExecutionContext context, Boolean isFilter, Boolean useLocalScope, Boolean interactiveCommand, CommandOrigin origin)
at System.Management.Automation.Runspaces.Command.CreateCommandProcessor(ExecutionContext executionContext, CommandFactory commandFactory, Boolean addToHistory)
at System.Management.Automation.Runspaces.LocalPipeline.CreatePipelineProcessor()
at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper()
at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc()
===================

最佳答案

Format-Table 不会生成文件对象列表,而这正是 Copy-Item 期望的输入。试试这个:

Get-ChildItem -Path $ServerDir -Recurse -Include newfile.swf | sort Name | % {
if ( Test-Path -LiteralPath $_.FullName ) {
Copy-Item $SourceFile $_.FullName -Force
} else {
Add-Content $logfile "File Copy Failed"
Add-Content $logfile $error[$error.count-1]
Add-Content $logfile "==================="
}
}

关于windows - 替换/更新文件共享上的特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15670384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com