【发布时间】:2018-12-12 18:51:45
【问题描述】:
我有一个文件夹位置
Z:\MyFolder\Hours
在这个文件夹中,我有两个文件,一个 PowerShell 脚本和一个文本 (txt) 文件;我只会在这个文件夹中拥有这两个文件,但文本文件名每周都会更改。我的 PowerShell 脚本在下面并且可以工作,但是我希望它执行它以获取它存储(或打开)的当前目录,打开目录中唯一的 txt 文件,然后在其上运行脚本。目前,txt 文件的打开和保存是硬编码的,我想在一些每天更改名称的文件上使用相同的脚本。我感谢任何人的帮助!
$r = @{
"Mon" = "Monday";
"Tue" = "Tuesday";
"Wed" = "Wednesday";
"Thu" = "Thursday";
"Fri" = "Friday";
"Sat" = "Saturday";
"Sun" = "Sunday"
}
$regexes = $r.keys | foreach {[System.Text.RegularExpressions.Regex]::Escape($_)}
$regex = [regex]($regexes -join '|')
$callback = { $r[$args[0].Value] }
$file = [System.IO.File]::ReadAllText("Z:\MyFolder\Hours\file.txt")
$file = $regex.Replace($file, $callback)
Set-Content -Path Z:\MyFolder\Hours\file.txt -Value $file
【问题讨论】:
标签: powershell