所以几年前,我创建了一个可以使用和执行Windows PC的脚本,可以将用户文档文件夹中的所有PDF文件备份到U盘中,而不考虑用户名。这个脚本也不使用驱动器字母来识别U盘,而是使用驱动器的卷名。所以,无论在哪里使用,哪台电脑,哪个用户或者U盘的字母,它都能正常工作。
然而现在我刚刚重新创建了它,由于某些原因,脚本运行没有任何障碍,它不再复制pdfs到闪存驱动器。任何帮助找出原因将是很好的。我不是一个专业的Powershell。
param([parameter(mandatory=$true)]$VolumeName) $backupPath = $null
get-wmiobject win32_logicaldisk | % { if ($_.VolumeName -eq $VolumeName) { $backupDrive = $_.DeviceID } }
$backupPath = $backupDrive + "\"
robocopy $env:username\Documents\ *.pdf $backupDrive /MIR /Z /XJD
Remove-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU' -Name '*' -ErrorAction SilentlyContinue
Remove-Item -path $env:username\Downloads\backup.ps1 -recurse
你创建了一个变量 $backupPath
但你使用了变量 backupDrive
的命令行中。而不是 $env:UserPorfile
你用 $env:userName
. 我怀疑这个脚本是否能成功运行一次。而且你有一些不相关的代码行在里面。
param(
[parameter(mandatory = $true)]
$VolumeName
)
$backupDrive = (Get-CimInstance -ClassName Win32_LogicalDisk | Where-Object -Property VolumeName -EQ -Value $VolumeName).DeviceID
$backupPath = $backupDrive + '\'
robocopy $Env:USERPROFILE\Documents\ $backupPath *.pdf /S /Z /XJD /NDL /PURGE
你可以问问作者,你从哪里下载的这个脚本来修复它;-)