I would not assume the current directory is set like you're expecting. You're using relative paths and that probably isn't a good idea. You can either pass in a path as a parameter to your script e.g.
powershell.exe -file "$(ProjectDir)\Scripts\my-scripts\concat.ps1" "$(ProjectDir)"
-- concat.ps1 --
param($projectDir)
if (Test-Path $projectDir\Scripts\my-scripts\myprefix-concatenated.js) {
Remove-Item $projectDir\Scripts\my-scripts\myprefix-concatenated.js
}
cat $projectDir\Scripts\my-scripts\myprefix-*.js > $projectDir\Scripts\my-scripts\concatenated.js
Rename-Item $projectDir\Scripts\my-scripts\concatenated.js -newname $projectDir\Scripts\my-scripts\myprefix-concatenated.js
If you are on PowerShell v3, you can reference files relative to where your concat.ps1 script resides with the $PSScriptRoot automatic variable e.g.:
if (Test-Path $PSScriptRoot\myprefix-concatenated.js) {
Remove-Item $PSScriptRoot\myprefix-concatenated.js
}
cat $PSScriptRoot\myprefix-*.js > $PSScriptRoot\concatenated.js
Rename-Item $PSScriptRoot\concatenated.js -newname $PSScriptRoot\myprefix-concatenated.js