我知道这已经被问了一百万次,但我似乎找不到任何适合我的东西。我不知道是否有权限问题或什么,但我正在尝试使用任务调度程序中的 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 只是不是最好的方法吗?提前感谢
我相信你正在使这比它应该更难(关于 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
将是无效的。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(65条)