Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Pomoc s powershell skriptom

Caute, bol by som velmi vdacny za pomoc s nasledujucim skriptom:

$filepath="<cesta k suborom>"
$date=(get-date).AddDays(-1).ToString("yyMMdd")
$array=@("${filepath}\<predpona>${date}","${filepath}\<predpona>${date}","${filepath}\<predpona>${date}")
foreach($i in $array){
if ( -Not $i )
    {
    echo $i
    }
}

problem je v tom, ze za ${date} sa v nazve suboru nachadza este dalsi retazec, ktory je nahodny a tu je kamen urazu - neviem, ako to tam zadat. Popripade kludne naviest na zmenu logiky, v podstate kontrolujem pritomnost suborov voci urcitemu zoznamu.

Vopred dik moc.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
a) použil bych get-childitem a match nebo contains b) hod sem nejaký screen s příkladem, co vlastně…
MKc 17.11.2019 08:41
MKc
Screen sem nemozem hodit (nie ze by som nechcel, ale jedna sa o firemne data), jedna sa o to, ze mam…
Michal2 17.11.2019 09:30
Michal2
A ty si v tej firme zamestnaný ako IT, alebo ho zastupuješ? Super tajná firma, ktorá si nemôže dovol…
pozorovateľ 17.11.2019 10:10
pozorovateľ
Preco tak utocne, normalnejsie by to neslo? Proste nie som kamarat s powershellom.
Michal2 17.11.2019 10:29
Michal2
Veď normálne. A nemusí to byť len powershell, to isté sa dá spraviť aj obyčajným .bat
pozorovateľ 17.11.2019 10:35
pozorovateľ
V pohode, kludne moze byt aj .bat, powershell ma napadol koli tomu, ze je blizsie k bashu, na ktory… nový
Michal2 17.11.2019 11:12
Michal2
Tak som to nakoniec poriesil, nie je to uplne idealne, islo byt to vysperkovat, ale pre potreby stac… poslední
Michal2 22.11.2019 10:04
Michal2

Screen sem nemozem hodit (nie ze by som nechcel, ale jedna sa o firemne data), jedna sa o to, ze mam adresar, kde sa kazdy den o 22:00 generuje sada 9 suborov, ktore maju v nazve spolocne len datum (v tvare yyMMdd) a ja kontrolujem nasledujuci den, ci sa predchadzajuci den v tych 22:00 tych 9 suborov vygenerovalo.

Tak som to nakoniec poriesil, nie je to uplne idealne, islo byt to vysperkovat, ale pre potreby staci:

$date=(get-date).AddDays(-3).ToString("yyMMdd")
$filepath="C:\Users\<user>\Pokus3"
$file1=gci "${filepath}\New1TextDocument${date}*" -name
$file2=gci "${filepath}\New2TextDocument${date}*" -name
$file3=gci "${filepath}\New3TextDocument${date}*" -name
$file4=gci "${filepath}\New4TextDocument${date}*" -name
$file5=gci "${filepath}\New5TextDocument${date}*" -name
$array=@($file1,$file2,$file3,$file4,$file5)
foreach ($i in $array) {
if ( -Not $i) {   
   Write-Host "<<< File missing >>>"
              }
else {Write-Host "File $i present"}
}

Zpět do poradny Odpovědět na původní otázku Nahoru