- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
再次尝试使用 PowerShell 删除文件。
我现在正在尝试删除以“Export_”开头的文件,然后是两位数的年份,然后是儒略日期。例如,今天是 Export_18309。 18309 之后还有其他数字,但它们不相关。使用我当前的代码“Export_”是一个字符串,我的日期已转换为 Int,以便我可以进行数学运算并增加它。
我设置$dval
到 18302 作为我正在使用的文件的测试用例。我知道它当前没有删除任何内容,因为我正在输出到文本文件以进行手动验证,然后再继续。但是,如果文本文件的输出不正确,则尝试删除是没有意义的。
我的问题目前在 function WriteArch
内代码块。我正在尝试将字符串和 int 组合起来让 PowerShell 显示仅以“Export_”和 $dval
开头的结果作为 Export_$dval。我制作了特定的代码行,以便更好地描绘我正在尝试的内容。
编辑:WriteArch
中的 for 循环是增加 18302,到 18303,然后是 18304,等等,因为我正在删除脚本运行前一周的文件。
$path0 = 'U:\PShell\Testing\IBM3 Cleanup\logfiles'
$archLog = 'U:\PShell\Testing\IBM3 Cleanup\LogArchive.txt'
$day = (Get-Date).DayOfWeek
$date = (Get-Date).ToString("yy") + ((Get-
Date).DayOfYear).ToString("D3")
$dval = $date -as [Int]
$dval = Switch ($day) {
"Monday" { ($dval - 7); break }
"Tuesday" { ($dval - 8); break }
"Wednesday" { ($dval - 9); break }
"Thursday" { ($dval - 10); break }
"Friday" { ($dval - 11) }
}
Clear-Content $archLog
$dval = 18302
function WriteArch {
param( $dval, $path0)
for ($i = 0; $i -le 4; $i++) {
Get-ChildItem -Path $path0|
Where { $_.FullName -Match "Export_" + "$dval"}|
Add-Content $archLog
$dval++
}
}
WriteArch $dval $path0
Invoke-Item $archLog
最佳答案
Match
运算符支持正则表达式。我认为这对于您描述的场景来说有点矫枉过正 - 我建议使用 Like
. *
是必不可少的,因为它告诉 PowerShell 在您指定的名称之后还有更多内容。Fullname
包含完整路径,包括父目录等 - 听起来您想将匹配基于 BaseName
, 其中不包括扩展名的文件名。
Where { $_.BaseName -like "Export_$dval*"}
$dval
引号中的变量强制 PowerShell 隐式转换
int
至
string
.
关于带有变量和字符串的 PowerShell Get-ChildItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53161014/
我尝试了一些选项来迭代我的目录并在以下命令之间获得巨大的性能差异: 慢: Get-ChildItem -Directory -Force -Recurse -Depth 3 -Include '$tf
我今天才刚刚开始使用PowerShell,并且我有一个意向列表文件,其中包含数组中的一些模式,例如: $matchPattern = ( "SomeCompany.
我制作的 powershell 脚本有问题。该脚本的目的是从各种资源、CMDB og 和其他系统收集信息,并将它们收集在一个组合报告中并发送。 除了一个一直困扰我的提示外,我的一切工作正常。在我的脚本
我编写了一个脚本,用于从服务器归档日志文件。除了 Get-ChildItem 的递归性与否,我的一切都很好...... 我似乎遇到的问题是,当 Get-ChildItem 不是递归的并且 -Inclu
使用PowerShell 4.0, 我试图获取多个目录的大小,并且在Windows告诉我的内容和我的代码告诉我的内容之间却得到非常不一致的结果。 有问题的代码是: $temp4 = ($folderI
我正在使用Powershell脚本删除文件夹中的某些文件,然后将其余文件移到预定义的子文件夹中。 我的结构看起来像这样 Main (Contains a bunch of pdb and dl
我试图获取特定子文件夹结构中文件的递归列表,然后将它们保存到表中,以便可以使用foreach循环处理每一行。我有以下代码: $table = get-childitem -recurse | wher
大家好,我的文件夹结构如下 D:\Exclude Include Include1 Exclude Include 我需要的是我想过滤目录 In
我在 d: 下有 3 个 ps1 文件 -a--- 6/19/2015 2:52 PM 104 Untitled1.ps1
我们生成名称中带有日期的文件。(* 下面是日期的通配符)我想获取最后一个文件,并且包含该文件的文件夹的标题中也有一个日期(仅月份)。 我正在使用 PowerShell,并安排它每天运行。这是到目前为止
我要申请多个filter在 PowerShell 脚本中,截至目前我只能添加单个 filter像下面 Get-Childitem "D:\SourceFolder" -recurse -filter
我正在尝试使用CreationTime命令获取Lastwritetime和get-childitem,并将其与相同的汇编时间进行比较,以检查每5分钟是否有任何差异。 奇怪的是,如果程序集没有更改,并且
我写了一个Powershell脚本来检查文件夹的内容,以及是否有LastWriteTime早于20分钟的文件通知我。我遇到的问题是,当我得到结果时,它包括电子邮件正文中的所有文件。我将如何编写该信息以
这个问题在这里已经有了答案: PowerShell output is crossing between functions (1 个回答) 2年前关闭。 Powershell 版本信息如下: Nam
再次尝试使用 PowerShell 删除文件。 我现在正在尝试删除以“Export_”开头的文件,然后是两位数的年份,然后是儒略日期。例如,今天是 Export_18309。 18309 之后还有其他
我有两种使用通配符模式获取文件的方式: Get-ChildItem "$ActivityLogDirectory/*.csv" 和 Get-ChildItem "$ActivityLogDirecto
平台上的第一篇文章;-) 场景:我有一个根文件夹,其中包含带有安装相关文件的子文件夹。一些子文件夹包含更多子文件夹和更多文件,子子文件夹。根文件夹下的每个子文件夹或其子文件夹都必须包含一个特定文件。
我的问题与元过滤器上发布的问题几乎相同。 我需要使用 PowerShell 脚本来扫描大量文件。问题在于“Get-ChildItem”函数似乎坚持将整个文件夹和文件结构插入内存中。由于驱动器在 30,
我目前正在编写一个可视化错误 GUI,它可以在处理时捕获任何异常,并为用户提供“易于理解”的错误消息。但似乎在使用 Get-ChildItem 时我无法捕获任何异常小命令。我是否必须使用与 try/c
我正在编写一个遍历目录并复制其中的每个文件和文件夹的递归函数。我在函数中进行的第一项检查是查看传入的路径是否有子级。为了找出答案,我使用以下方法: [array]$arrExclude = @("Ex
我是一名优秀的程序员,十分优秀!