Forum » Programiranje » Powershell skripta, pomoč
Powershell skripta, pomoč
Blisk ::
Imam tole skripto, ki deluje vredu do zadnjega konca, ko mi izpiše oz. zazna katere datoteke manjkajo v mapi 1.
Ampak ne dela pa čisto zadnji del, ko mora v primeru da v mapi 1 ni vseh datotek iz mape 2 skopirati v mapo 1 datoteke in narediti kontrolni fajl, da vem da so bile datoteke na novo skopirane.
Oz če so v mapi 1 vse datoteke, narediti kontrolni fajl, da vem da niso bile.
ta del ne deluje, kakšna ideja zakaj in kaj spremeniti?
$FileNamesInTextFile = Get-Content -Path "\\192.168.0.22\missing_file\missing_files.txt"
New-Item -Path "C:\Programs\backup" -ItemType "directory"
$FilesNamesInFolder = Get-ChildItem -Path "C:\Programs\backup" -Recurse -File -Name -Force
# check in console
$MissingFiles = @()
foreach ($FileName in $FileNamesInTextFile) {
if ($FileName -notin $FilesNamesInFolder) {$MissingFiles += $FileName}
}
if ($File -notcontains $MissingFiles) {
Remove-Item "\\192.168.0.10\chk\files_exist.txt"
New-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
Copy-Item -Path "\\192.168.0.22\obstur\*.*" -Destination "C:\Programs\backup"
} else {
Remove-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
New-Item "\\192.168.0.10\chk\files_exist.txt"
}
exit
Ampak ne dela pa čisto zadnji del, ko mora v primeru da v mapi 1 ni vseh datotek iz mape 2 skopirati v mapo 1 datoteke in narediti kontrolni fajl, da vem da so bile datoteke na novo skopirane.
Oz če so v mapi 1 vse datoteke, narediti kontrolni fajl, da vem da niso bile.
ta del ne deluje, kakšna ideja zakaj in kaj spremeniti?
$FileNamesInTextFile = Get-Content -Path "\\192.168.0.22\missing_file\missing_files.txt"
New-Item -Path "C:\Programs\backup" -ItemType "directory"
$FilesNamesInFolder = Get-ChildItem -Path "C:\Programs\backup" -Recurse -File -Name -Force
# check in console
$MissingFiles = @()
foreach ($FileName in $FileNamesInTextFile) {
if ($FileName -notin $FilesNamesInFolder) {$MissingFiles += $FileName}
}
if ($File -notcontains $MissingFiles) {
Remove-Item "\\192.168.0.10\chk\files_exist.txt"
New-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
Copy-Item -Path "\\192.168.0.22\obstur\*.*" -Destination "C:\Programs\backup"
} else {
Remove-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
New-Item "\\192.168.0.10\chk\files_exist.txt"
}
exit
GupeM ::
1. Ima uporabnik, ki poganja skripto pravico do pisanja v folder na strežniku?
2. Dobiš kje kakšno napako, ali se samo ustavi?
3. Kakšna je vrednost spremenljivke $File? Imam občutek, da bi moral if pogoj izgledati obratno: if ($MissingFiles -notcontains $File).
2. Dobiš kje kakšno napako, ali se samo ustavi?
3. Kakšna je vrednost spremenljivke $File? Imam občutek, da bi moral if pogoj izgledati obratno: if ($MissingFiles -notcontains $File).
Blisk ::
1. Ima uporabnik, ki poganja skripto pravico do pisanja v folder na strežniku?
2. Dobiš kje kakšno napako, ali se samo ustavi?
3. Kakšna je vrednost spremenljivke $File? Imam občutek, da bi moral if pogoj izgledati obratno: if ($MissingFiles -notcontains $File).
da uporabnik ima pravico, skripta se zaganja preko task scheduler.
v bistvu vidim da za $File nič ni.
Blisk ::
Sem popravil ta del pa še vedno ne deluje
$FileNamesInTextFile = Get-Content -Path "\\192.168.0.22\missing_file\missing_files.txt"
New-Item -Path "C:\Programs\backup" -ItemType "directory"
$FilesNamesInFolder = Get-ChildItem -Path "C:\Programs\backup" -Recurse -File -Name -Force
# check in console
$MissingFiles = @()
foreach ($FileName in $FileNamesInTextFile) {
$File = ($FileName -notin $FilesNamesInFolder)
$Missingfile2 = ($MissingFiles += $FileName)
}
if ($File -notcontains $MissingFiles2) {
Remove-Item "\\192.168.0.10\chk\files_exist.txt"
New-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
Copy-Item -Path "\\192.168.0.22\obstur\*.*" -Destination "C:\Programs\backup"
} else {
Remove-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
New-Item "\\192.168.0.10\chk\files_exist.txt"
}
exit
Noben ne ve kako bi rešili tole???
$FileNamesInTextFile = Get-Content -Path "\\192.168.0.22\missing_file\missing_files.txt"
New-Item -Path "C:\Programs\backup" -ItemType "directory"
$FilesNamesInFolder = Get-ChildItem -Path "C:\Programs\backup" -Recurse -File -Name -Force
# check in console
$MissingFiles = @()
foreach ($FileName in $FileNamesInTextFile) {
$File = ($FileName -notin $FilesNamesInFolder)
$Missingfile2 = ($MissingFiles += $FileName)
}
if ($File -notcontains $MissingFiles2) {
Remove-Item "\\192.168.0.10\chk\files_exist.txt"
New-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
Copy-Item -Path "\\192.168.0.22\obstur\*.*" -Destination "C:\Programs\backup"
} else {
Remove-Item "\\192.168.0.10\chk\files_NOT_exist.txt"
New-Item "\\192.168.0.10\chk\files_exist.txt"
}
exit
Noben ne ve kako bi rešili tole???
Zgodovina sprememb…
- spremenil: Blisk ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Dostop do notranjega IPja preko zunanjega IPjaOddelek: Omrežja in internet | 2293 (2060) | BigFoot |
» | 2x WRT54GL 2x ADSL, skupno omrežje?Oddelek: Omrežja in internet | 2532 (2292) | b |
» | ne morem pingat hosta, ki mu ruterjev DHCP dodeli IPOddelek: Omrežja in internet | 1790 (1737) | amigo_no1 |
» | workgroup noce in noceOddelek: Omrežja in internet | 2060 (1853) | Microsoft |
» | strežnik za routerjemOddelek: Pomoč in nasveti | 1441 (1250) | sash |