我有一些文件夹,该文件夹的总数总是不同的。每个文件夹都有两个名为“ ID”和“ ID_DONE”的文件,用于由其他进程生成的文件“ ID_DONE”。一旦每个文件夹生成“ ID_DONE”,我想删除文件“ ID”。 我尝试了此操作,但是如果要检查多个文件夹,则无法删除“ ID”文件。 任何人都可以帮忙。
if(Test-Path -Path "$OpJob_Path\*\ID_DON"){
$Path_ID_DON = Get-ChildItem -Path "$OpJob_Path\*\ID_DON"
$Split = Split-Path -Path $Path_ID_DON
$Split
if(Test-Path -Path "$Split\ID")
{
Write-Host "Remove"
Remove-Item -Path "$Split\ID"
}
else{
Write-Host "Not Found"
}
}
else{
Write-Host "Continue..........."
}
答案 0 :(得分:2)
鉴于您要在多个目录中匹配文件 并使用通配符表达式"$OpJob_Path\*\ID_DON"
,$Path_ID_DON
可能包含文件的数组({ {1}}个项目。
因此
[System.IO.FileSystem]
得出$Split = Split-Path -Path $Path_ID_DON
,其中包含存储在$Split
中的文件的父目录路径的数组。
如果要从所有这些目录中删除名为$Path_ID_DON
的文件(如果存在),请使用以下命令:
ID
$Split | ForEach-Object {
$file = Join-Path $_ 'ID'
if (Test-Path $file) { Remove-Item $file -WhatIf }
}
预览操作。确定您将执行所需操作后,将其删除。
答案 1 :(得分:0)
像这样吗?
library(dplyr)
street <- c("1234 Main St","5678 Park Pl Detroit MI 55555")
citystate <- c("Buffalo NY 14210", "Detroit MI 55555")
data <- tibble(street, citystate)
for(i in 1:length(data$street)){
data$street[i] <- gsub(data$citystate[i], '', data$street[i])
}