服务器一:PowerShell将文件从一个服务器移动到另一个服务器

我知道这已经被问了一百万次,但我似乎找不到任何适合我的东西。我不知道是否有权限问题或什么,但我正在尝试使用任务调度程序中的 PowerShell 脚本将文件从一个服务器移动到另一个服务器,并且在它停止工作之前工作了大约一周。任务调度程序中没有错误,而且我根本不精通 PowerShell,我只是想从她的网站上的另一个文件移动到我们的 CMS 管理器

$ORG = "E:\folders\uploads\" ## enter current source folder
$DEST= "\\server-folder-structure\uploads\" ## enter your destination folder 
foreach ($ORG in gci $DEST -include *.doc,*.docx,*.pdf,*.png,*.gif,*.jpg,*.jpeg,*.html,*.htm -recurse)
{ 
  Move-Item -path $ORG -destination $DEST ## Move the files to the destination folder
}

我也试过这个,希望它会工作,但仍然没有文件被移动。

Get-ChildItem E:\folder-structure\uploads\* -Include *.doc,*.docx,*.pdf,*.png,*.gif,*.jpg,*.jpeg,*.html,*.htm -Recurse |ForEach-Object { Move-Item $_.FullName \\server-folder-structure\uploads\ }

我做错了吗?是否有我需要设置我不知道的文件夹的权限?PowerShell 只是不是最好的方法吗?提前感谢

3

我相信你正在使这比它应该更难(关于 PowerShell 对你来说是新的)。如果你想直接管道到Move-Item,你不需要任何例子的循环:

$ORG  = "E:\folders\uploads\" ## enter current source folder
$DEST = "\\server-folder-structure\uploads\" ## enter your destination folder 
$filterFor = "*.doc","*.docx","*.pdf","*.png","*.gif","*.jpg","*.jpeg","*.html","*.htm"
Get-ChildItem $ORG -Include $filterFor -File -Recurse | 
    Move-Item -Destination $DEST -WhatIf

至于你尝试过的,正如Mathias指出的那样,你会搜索你的$DEST位置,其中文件不会存在,因为它们只会在$ORG;鉴于这是实际的源文件夹。

这也将覆盖你$ORG变量与当前项目在你的迭代:foreach ($ORG in gci ..){ ... }

意思是,你的Move-Item将是无效的。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(344)
Linux定时关机脚本:如何在Linux上取消关机(how to shut down linux)
上一篇
服务器错误状态码:GlassFishHttp状态500-内部服务器错误
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(64条)