Solved

Powershell move-item cmdlet not working in loop

Posted on 2008-11-03
4
1,524 Views
Last Modified: 2013-11-10
Hi,
I'm developing a Powershell script which will copy data files and run them threw a Powershell script.  The last line in the loop of the script is to move the particular CSV file to a different folder.  This is not working in the script.  Can someone take a look and see if there is a coding error?

Please note that this script is using cmdlets from the Netcmdlets script.  Thanks.

#Powershell Script within Netcmdlets profile:
 
#    $LogDirectory = "$Env:temp"
        $LogDirectory = "C:\EL\RPSCSVParser\FromBanner\logs\"
 
get-ftp -server mylinuxserver -user myuser -password mypassword -ssh -force -path /misc/path/*.csv | foreach-object -process {
get-ftp -server mylinuxserver -user myuser -password mypassword -ssh -force -path "/misc/path/" -remotefile ($_.Filename) -localfile ("C:\misc\path\" + $_.Filename) 
send-ftp -server mylinuxserver -user myuser -password mypassword -ssh -force -path "/misc/path/" -remotefile ($_.Filename) -rename ("/misc/path/Processed" + $_.Filename)
Write-Output ("Processing file: " + $_.Filename)
 
$Username = "mptcmanage@student.morainepark.edu"
$Password = ConvertTo-SecureString 'l0pht2600' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $Username, $Password
c:\misc\path\CSV_Parser_wErrorLogging.PS1 -UsersFile ("C:\misc\path\" + $_.Filename) -RemoteURL https://ps.exchangelabs.com/powershell -LiveCredential $cred -LogDirectory "C:\misc\path\logs\"
 
mv ("C:\misc\path\" + $_.Filename) (C:\misc\path\Processed) -force
Write-Output ("Moved file: " + $_.Filename)
}

Open in new window

0
Comment
Question by:jloomans
  • 2
  • 2
4 Comments
 
LVL 18

Expert Comment

by:BSonPosh
ID: 22867299
Does it just not move? Does it error? Have you tried adding the -verbose flag to move-item?
0
 

Author Comment

by:jloomans
ID: 22867738
I have added -verbose behind the command.  It does not move.  There is no output in the Powershell window to indicate the command was carried out.
0
 
LVL 18

Accepted Solution

by:
BSonPosh earned 125 total points
ID: 22867764
That is odd... try this

move-item "C:\misc\path\$($_.Filename)" "C:\misc\path\Processed" -force -verb
0
 

Author Comment

by:jloomans
ID: 22868143
I found a line in the script that is called from this script that broke the loop.  This line was commented and now this script works well include the move-item command.

Personally, I prefer the way you constructed this line of code better than my own.  Thanks.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question