Author Posts

June 10, 2016 at 5:51 pm

My code snippet is below. I am trying to have items move into folders that already exist. The folders might actually have the files in them too. I want the code to move the file in to the folder and I want it to overwrite the existing file regardless, no matter what.

[PRE]

#If a date folder with the date of this item is already created, it is moved there
If(test-path "\\172.17.200.20\CDC\archive\$datefolder")
{
Add-content -Path $logpath -value "Date file already created. Moving item to date file in archive on old server."
$archive = "\\172.17.200.20\CDC\archive\$datefolder"
Move-Item $item $archive -Force
}

#If the date folder with the date of this item is not already created, the folder is created and then the item is moved to that location.
else
{
Add-content -Path $logpath -value "Date file not already created. Creating date file in archive on old server."
New-Item -ItemType directory -Path "\\172.17.200.20\CDC\archive\$datefolder"
$archive = "\\172.17.200.20\CDC\archive\" + $datefolder
Add-content -Path $logpath -value "Now moving itme to date folder just created."
move-item $item $archive -Force
}

[/PRE]

June 10, 2016 at 6:02 pm

without knowing the format of the $datefolder I have to guess a bit. Is it possible you have brackets or other special characters so you need to call out -litteralpath instead of the default -path? At face value the syntax looks correct.

June 10, 2016 at 6:05 pm

Also, use angle brackets around PRE, not square brackets, to format code. See the syntax in the three bullets above the reply textbox.

June 10, 2016 at 9:50 pm

In your script $archive contains only a string. It doesn't represent an array of files. Try instead...

$archive = Get-ChildItem "\\172.17.200.20\CDC\archive\$datefolder" -Recurse

Edit: Never mind what I wrote, just re-read your post you're moving the whole folder. Carry on.

  • This reply was modified 2 years, 2 months ago by  Jack Neff.