Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 2.923 pregleda

Najnovija ↓

Powershell move command? 22.07.2019. u 12:30 · pre 88 meseci #1
Nemam nekog iskustva sa Powershell i prilicno mi je konfuzno

Vidim da postoji neki cmdlet Move-Item i u dokumentaciji
https://docs.microsoft.com/en-...nt/move-item?view=powershell-6


Code:

Example 2.
Move-Item -Path C:\Temp -Destination C:\Logs


sam kapirao da sve kako je u Temp ce pomeriti u Logs. Ali nije.
Pa sam onda pokusao sa recurse flag-om

Code:

Example 4.
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"


s tim sto ne koristim samo za neke odredjene fajlove nego zelim sve. Ovo je moja komanda.
Code:

Invoke-Command -ScriptBlock {
Get-ChildItem -Path "C:\RemoteFolder\*" | Move-Item -Destination "C:\BackupFolder\$((Get-Date).ToString('yyyy-MM-dd-HHmms'))"
}


Pokusao sam i direktno na serveru bez Invoke-Command ali isti problem.

Odnosno problem je sto mi ne sacuva kompletnu folder strukturu. Nego sve spakuje u root backupFolder.

Probao sam i samo C:\RemoteFolder i C:\RemoteFolder\ i C:\RemoteFolder\* ali je uvek isti rezultat.
Re: Powershell move command? 22.07.2019. u 13:13 · pre 88 meseci #2
Preporučujem ti da koristiš xcopy komandu.
U svakom slučaju, korisno je da znaš da barataš sa xcopy.
Re: Powershell move command? 22.07.2019. u 13:33 · pre 88 meseci #3
Probaj sa: mv c:\temp\* c:\logs

Get-Help mv
Re: Powershell move command? 22.07.2019. u 14:39 · pre 88 meseci #4
Djoko, hocu da pomerim skroz fajlove, da bih mogao da uradim deploy novih u taj folder.

Panto sam prvo to. Doduse Move-Item pa tako kako si napisao i nije radilo.

Ali pazi sad ovu glupost, na tragu sam donekle.

Izbacio sam Get-Date i koristio Example 2 iz prvog posta.

Izgleda recimo ovako
Code:
Move-Item -Path C:\inetpub\wwwroot\Test\* -Destination "C:\BackupFolder\bla"

Mora zvezdica posle Test inace ce u backup folderu da mi kreira podfolder Test. Doduse na kraju krajeva ni to mi ne smeta.

Fora je kod ove komande, ako vec postoji bla folder on ce lepo spakovati sve unutar njega.
Ako ne postoji nego kreira, kao sto bi kreirao sa Get-Date funkcijom, onda istumba sve u njega duplira ono sto je u folderima

Pa umesto da izgleda ovako
c:\BackupFolder\bla\folder1
c:\BackupFolder\bla\folder1\podfolder1
c:\BackupFolder\bla\folder1\podfolder2
c:\BackupFolder\bla\folder2
c:\BackupFolder\bla\folder2\podfolder3
c:\BackupFolder\bla\folder2\podfolder4
c:\BackupFolder\bla\folder2\podfolder5

Dobijem ovo

c:\BackupFolder\bla\folder1
c:\BackupFolder\bla\folder1\podfolder1
c:\BackupFolder\bla\folder1\podfolder2
c:\BackupFolder\bla\podfolder1
c:\BackupFolder\bla\podfolder2

c:\BackupFolder\bla\folder2
c:\BackupFolder\bla\folder2\podfolder3
c:\BackupFolder\bla\folder2\podfolder4
c:\BackupFolder\bla\folder2\podfolder5
c:\BackupFolder\bla\podfolder3
c:\BackupFolder\bla\podfolder4
c:\BackupFolder\bla\podfolder5
Re: Powershell move command? 22.07.2019. u 15:05 · pre 88 meseci
izmenjeno 1 put, poslednji put CoyoteKG 22.07.2019. u 15:50
  1. CoyoteKG22.07.2019. u 15:50zapis iz teksta poruke
#5
Evo kompletne skripte. Izvrsava se kod mene lokalno, a deploy u Hyper-V virtualku.
Repo je bzvz neki sa neta.

Code:
$Session = New-PSSession -ComputerName "172.18.47.49" -Credential "WIN-DAB2TQ2DPT4\Administrator"
$LocalWorkingDirectory = "D:\TMP\WorkingDirectory"
$GitRepo = "https://github.com/aussiearef/Accounting.git"

Remove-Item $LocalWorkingDirectory -Force -Recurse
git clone $GitRepo $LocalWorkingDirectory

#Invoke-Command -ScriptBlock {Stop-Service DService} $Session

Invoke-Command -ScriptBlock {
       Move-Item -Path C:\inetpub\wwwroot\Accounting\ -Destination "C:\BackupFolder\$((Get-Date).ToString('yyyy-MM-dd-HHmms'))\"
} $Session

Copy-Item "$LocalWorkingDirectory\*" -Exclude ".git*" -Destination "C:\inetpub\wwwroot\Accounting" -ToSession $Session -Recurse

#Invoke-Command -ScriptBlock {Start-Service DService} $Session




Edit:
Zeza me izgleda ta * u putanjama. Bez njih radi. Ali mi sad ne radi exclude u copy-item :D.
Mislim da sam negde video ceo pipeline sa get-child | when (uslov da izbacim sve sto ima .git)| copy-item s cim bih mozda mogao da resim to.

Code:
$Session = New-PSSession -ComputerName "172.18.47.49" -Credential "WIN-DAB2TQ2DPT4\Administrator"
$LocalWorkingDirectory = "D:\TMP\WorkingDirectory"
$GitRepo = "https://github.com/aussiearef/Accounting.git"

Remove-Item $LocalWorkingDirectory -Force -Recurse
git clone $GitRepo $LocalWorkingDirectory


#Invoke-Command -ScriptBlock {Stop-Service DService} $Session

Invoke-Command -ScriptBlock {
       Move-Item -Path C:\inetpub\wwwroot\Test\ -Destination "C:\BackupFolder\$((Get-Date).ToString('yyyy-MM-dd-HHmms'))\"
} $Session

Copy-Item "$LocalWorkingDirectory\" -Destination "C:\inetpub\wwwroot\Test\" -ToSession $Session -Recurse

#Invoke-Command -ScriptBlock {Start-Service DService} $Session
Re: Powershell move command? 22.07.2019. u 16:09 · pre 88 meseci #6
Citat:
Ali pazi sad ovu glupost, na tragu sam donekle.

Izbacio sam Get-Date i koristio Example 2 iz prvog posta.

Izgleda recimo ovako
Code:
Move-Item -Path C:\inetpub\wwwroot\Test\* -Destination "C:\BackupFolder\bla"

Mora zvezdica posle Test inace ce u backup folderu da mi kreira podfolder Test.

Ali, pazi ovo:
Citat:
Probaj sa: mv c:\temp\* c:\logs

mv je alias za Move-Item. Zvezdica je wildcard i predstavlja bilo koji karakter u imenu fajla/foldera u temp direktorijumu.

https://en.wikipedia.org/wiki/Glob_(programming)
Re: Powershell move command? 22.07.2019. u 16:39 · pre 88 meseci #7
Da radi O.o
Ako je alias, zasto mi nije radio Move-Item. Eto gore u primeru koji si citirao sam isto tako napisao. Samo bez -path i destination.

Ali sad nov problem nastao. Nesto sam u medjuvremenu izgleda zaebao.

Ovo mi vise ne radi. Isti problem kao sa move. Sve strpa u root folder.
[code]
Copy-Item "$LocalWorkingDirectory\*" -Exclude "*.git*" -Destination "C:\inetpub\wwwroot\Test" -ToSession $Session -Recurse
[\code]
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme