Powershell - How to rename a file after moving it?
I am currently working on a project that requires that I move a file, and then rename it. I am using this code to move it and that is working. However, the rename portion is not taking place as it should. I cannot figure out why this isn't working. What have I goofed up? I have been beating my head against my desk for at least 20 minutes trying to figure this out.
# Variables for Watcher
$folder = "C:Program FilesWhateverConnectorExportJobStatus"
$filter = '*.txt'
$date=(get-date -Format d) -replace("/")
$time=(get-date -Format t) -replace(":")
# Watcher + Settings
$fsw = New-Object IO.FileSystemWatcher $folder, $filter
$fsw.IncludeSubdirectories = $false
$fsw.NotifyFilter = [IO.NotifyFilters]'FileName', 'DirectoryName'
# Register Event (when file is created)
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated
-Action
# Foreach file loop
ForEach ($f in $fsw)
if (($File = Get-Item $Event.SourceEventArgs.FullPath
powershell powershell-v2.0 powershell-v3.0
add a comment |
I am currently working on a project that requires that I move a file, and then rename it. I am using this code to move it and that is working. However, the rename portion is not taking place as it should. I cannot figure out why this isn't working. What have I goofed up? I have been beating my head against my desk for at least 20 minutes trying to figure this out.
# Variables for Watcher
$folder = "C:Program FilesWhateverConnectorExportJobStatus"
$filter = '*.txt'
$date=(get-date -Format d) -replace("/")
$time=(get-date -Format t) -replace(":")
# Watcher + Settings
$fsw = New-Object IO.FileSystemWatcher $folder, $filter
$fsw.IncludeSubdirectories = $false
$fsw.NotifyFilter = [IO.NotifyFilters]'FileName', 'DirectoryName'
# Register Event (when file is created)
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated
-Action
# Foreach file loop
ForEach ($f in $fsw)
if (($File = Get-Item $Event.SourceEventArgs.FullPath
powershell powershell-v2.0 powershell-v3.0
2
Why aren't you renaming the file with the move? You're doing more steps than necessary.
– TheIncorrigible1
Nov 14 '18 at 16:32
add a comment |
I am currently working on a project that requires that I move a file, and then rename it. I am using this code to move it and that is working. However, the rename portion is not taking place as it should. I cannot figure out why this isn't working. What have I goofed up? I have been beating my head against my desk for at least 20 minutes trying to figure this out.
# Variables for Watcher
$folder = "C:Program FilesWhateverConnectorExportJobStatus"
$filter = '*.txt'
$date=(get-date -Format d) -replace("/")
$time=(get-date -Format t) -replace(":")
# Watcher + Settings
$fsw = New-Object IO.FileSystemWatcher $folder, $filter
$fsw.IncludeSubdirectories = $false
$fsw.NotifyFilter = [IO.NotifyFilters]'FileName', 'DirectoryName'
# Register Event (when file is created)
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated
-Action
# Foreach file loop
ForEach ($f in $fsw)
if (($File = Get-Item $Event.SourceEventArgs.FullPath
powershell powershell-v2.0 powershell-v3.0
I am currently working on a project that requires that I move a file, and then rename it. I am using this code to move it and that is working. However, the rename portion is not taking place as it should. I cannot figure out why this isn't working. What have I goofed up? I have been beating my head against my desk for at least 20 minutes trying to figure this out.
# Variables for Watcher
$folder = "C:Program FilesWhateverConnectorExportJobStatus"
$filter = '*.txt'
$date=(get-date -Format d) -replace("/")
$time=(get-date -Format t) -replace(":")
# Watcher + Settings
$fsw = New-Object IO.FileSystemWatcher $folder, $filter
$fsw.IncludeSubdirectories = $false
$fsw.NotifyFilter = [IO.NotifyFilters]'FileName', 'DirectoryName'
# Register Event (when file is created)
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated
-Action
# Foreach file loop
ForEach ($f in $fsw)
if (($File = Get-Item $Event.SourceEventArgs.FullPath
powershell powershell-v2.0 powershell-v3.0
powershell powershell-v2.0 powershell-v3.0
edited Nov 14 '18 at 15:22
Steve Weaver
asked Nov 14 '18 at 14:58
Steve WeaverSteve Weaver
3411315
3411315
2
Why aren't you renaming the file with the move? You're doing more steps than necessary.
– TheIncorrigible1
Nov 14 '18 at 16:32
add a comment |
2
Why aren't you renaming the file with the move? You're doing more steps than necessary.
– TheIncorrigible1
Nov 14 '18 at 16:32
2
2
Why aren't you renaming the file with the move? You're doing more steps than necessary.
– TheIncorrigible1
Nov 14 '18 at 16:32
Why aren't you renaming the file with the move? You're doing more steps than necessary.
– TheIncorrigible1
Nov 14 '18 at 16:32
add a comment |
2 Answers
2
active
oldest
votes
The pipeline is broken when there's no object output. move-item
doesn't output an object unless the -passthru
parameter is used. Also, set-sleep
doesn't output anything. So, rename-item
is never reached.
Replace the pipes after move-item
and sleep
with semicolons, and it should work.
add a comment |
I actually fixed this removing the piped rename and replacing it with a 5 second sleep. I do the rename after the sleep and it works fine now. Still not sure why the rename wasnt working in the piped command though.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53303071%2fpowershell-how-to-rename-a-file-after-moving-it%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
The pipeline is broken when there's no object output. move-item
doesn't output an object unless the -passthru
parameter is used. Also, set-sleep
doesn't output anything. So, rename-item
is never reached.
Replace the pipes after move-item
and sleep
with semicolons, and it should work.
add a comment |
The pipeline is broken when there's no object output. move-item
doesn't output an object unless the -passthru
parameter is used. Also, set-sleep
doesn't output anything. So, rename-item
is never reached.
Replace the pipes after move-item
and sleep
with semicolons, and it should work.
add a comment |
The pipeline is broken when there's no object output. move-item
doesn't output an object unless the -passthru
parameter is used. Also, set-sleep
doesn't output anything. So, rename-item
is never reached.
Replace the pipes after move-item
and sleep
with semicolons, and it should work.
The pipeline is broken when there's no object output. move-item
doesn't output an object unless the -passthru
parameter is used. Also, set-sleep
doesn't output anything. So, rename-item
is never reached.
Replace the pipes after move-item
and sleep
with semicolons, and it should work.
edited Nov 14 '18 at 16:27
answered Nov 14 '18 at 16:09
toastifertoastifer
12516
12516
add a comment |
add a comment |
I actually fixed this removing the piped rename and replacing it with a 5 second sleep. I do the rename after the sleep and it works fine now. Still not sure why the rename wasnt working in the piped command though.
add a comment |
I actually fixed this removing the piped rename and replacing it with a 5 second sleep. I do the rename after the sleep and it works fine now. Still not sure why the rename wasnt working in the piped command though.
add a comment |
I actually fixed this removing the piped rename and replacing it with a 5 second sleep. I do the rename after the sleep and it works fine now. Still not sure why the rename wasnt working in the piped command though.
I actually fixed this removing the piped rename and replacing it with a 5 second sleep. I do the rename after the sleep and it works fine now. Still not sure why the rename wasnt working in the piped command though.
answered Nov 14 '18 at 15:43
Steve WeaverSteve Weaver
3411315
3411315
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53303071%2fpowershell-how-to-rename-a-file-after-moving-it%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Why aren't you renaming the file with the move? You're doing more steps than necessary.
– TheIncorrigible1
Nov 14 '18 at 16:32