我正在开发一个PowerShell脚本,供帮助台在将userhome文件夹从服务器迁移到NAS设备时使用.帮助台用户将用户名输入"userhomelist.txt"文件.
我的问题是我无法让脚本附加所有日志文件.只有最后一个日志文件附加到电子邮件中.我想我需要使用一个字符串作为多个附件,但我一直认为还有另一种方法.
#----- STEP #1 retrieve contents of input file ---#
$INPUTFILEPATH = 'c:\temp\userhomelist.txt'
#----- read input file contents ----#
$inputdata = Get-Content $INPUTFILEPATH
#----- Top section of email body ----#
$msgreport = new-object Net.Mail.MailMessage
$msgreport = "To view log files, go to directory where this PowerShell Script was run from. `r"
$msgreport = $msgreport + "`r`n"
#read in each username
foreach ($username in $inputdata)
{
#----- STEP #2 robocopy files from \\server to \\nasdevice location ----#
Start-Process -FilePath robocopy …Run Code Online (Sandbox Code Playgroud) 我试图删除除10个最新目录之外的所有目录,总是排除java目录.不幸的是,除了最后10个"java"目录的内容之外,它正在删除.
我一直在尝试从以下链接修改解决方案以使我的情况正常工作: 保留x个文件并删除所有其他文件 - 第2部分
目录结构如下:
dev_app_backup\java
dev_app_backup\2012-05-09_01-00-05_commnXsl (contains Xsl files)
dev_app_backup\2012-05-09_01-00-05_published (contains zip files)
dev_app_backup\various-dates-time_commonXsl
dev_app_backup\various-dates-time_published
Run Code Online (Sandbox Code Playgroud)
我的计划是运行第二个脚本来清理java子目录.
#----- define folder where files are located ----#
$TargetFolder = "\\test\TestShare\dev_app_backup\*"
#----- number of directories to keep ----#
$keep = 10
#----- get zip files based on lastwrite filter ---#
$files = Get-Childitem $TargetFolder -recurse -exclude java
if ($files.Count -gt $keep)
{
$files | Sort-Object -property $_.LastWriteTime | Select-Object -First ($files.Count - $keep) | Remove-Item -Force
}
Run Code Online (Sandbox Code Playgroud)