【发布时间】:2018-11-28 08:10:48
【问题描述】:
这是我目前正在处理的 Word 文档脚本示例 该脚本更改所有文件中的一个单词,但****不会更改部分文件名和页眉和页脚
$objWord = New-Object -comobject Word.Application
$objWord.Visible = $false
$list = Get-ChildItem "C:\Users\*.*" -Include *.doc*
foreach($item in $list){
$objDoc = $objWord.Documents.Open($item.FullName,$true)
$objSelection = $objWord.Selection
$wdFindContinue = 1
$FindText = "COMPUTER"
$MatchCase = $False
$MatchWholeWord = $true
$MatchWildcards = $False
$MatchSoundsLike = $False
$MatchAllWordForms = $False
$Forward = $True
$Wrap = $wdFindContinue
$Format = $False
$wdReplaceNone = 0
$ReplaceWith = "DESKTOP"
$wdFindContinue = 1
$ReplaceAll = 2
$a = $objSelection.Find.Execute($FindText,$MatchCase,$MatchWholeWord, `
$MatchWildcards,$MatchSoundsLike,$MatchAllWordForms,$Forward,`
$Wrap,$Format,$ReplaceWith,$ReplaceAll)
$objDoc.Save()
$objDoc.Close()
}
$objWord.Quit()
以下是更改部分文件名的脚本:
PS C:\User> get-childitem | foreach { rename-item $_ $_.Name.Replace("file1", "computer") }
我怎样才能把所有东西放在一起? 谢谢
【问题讨论】:
-
您的文字代码中没有任何内容可以满足您对页眉页脚的需求。更改文件名或文件名的一部分是一种常见的做法,在帮助文件以及整个网络和本网站上都有示例。 stackoverflow.com/questions/24887905/…,您的重命名命令是静态的,但您说您正在访问多个文件。您是说所有文件都包含单词 file1,并且您正在尝试将 files1 替换为单词 computer?这是因为所有文件的名称都相同,这不是一回事。
-
我想知道是否有办法将所有这些结合起来。我明白代码不涉及页眉和页脚。想知道是否有人可以提供帮助
-
@postanote stackoverflow.com/questions/46041100/… 这就是我所说的,但我尝试添加此代码:get-childitem |foreach { rename-item $_ $_.Name.Replace("test" , "test1") } 更改文件名,但最终得到一个错误。
-
查看我对重命名工作的回答。
标签: powershell scripting