是否有适用于 Windows 10 的原生解决方案,使下载内容根据其文件类型自动进入文件夹?例如,所有应用程序文件都会被定向到名为“programs”的文件夹。我不确定从哪里开始研究这个问题,所以我没有太多可继续的内容。
答案1
我刚刚整理了这个 PowerShell 脚本:
$places = @{txt='?\Documents\TextFiles'; exe='?\Documents\NewApps'}
$userprof = [Environment]::ExpandEnvironmentVariables('%USERPROFILE%')
cd ($userprof + '\Downloads')
Do {
dir -File | % {
If ($_.Extension.Length -gt 0) {
$ext = $_.Extension.Substring(1).ToLowerInvariant()
} Else {
$ext = 'NOEXT'
}
If (-not $places.ContainsKey($ext)) {$ext = 'DEFAULT'}
If ($places.ContainsKey($ext)) {
$dest = $places[$ext].Replace('?', $userprof)
move $_ -Dest $dest
}
}
Start-Sleep -Seconds 5
} While ($true)
将其作为.ps1
文件保存在某处。
它设计为在后台运行,每五秒检查一次下载文件夹中的新文件。(您可以在倒数第二行更改间隔。)要设置文件的存放位置,您可以$places
在第一行更改地图。问号将自动替换为您的用户配置文件夹的路径。目前,它会将文件放在我的文档文件夹下.txt
名为的文件夹中,并将文件放在名为的文件夹中。您需要在运行脚本之前创建这些文件夹。要设置无扩展名文件的存放位置,请添加一个条目。要设置未知文件类型的存放位置,请添加一个条目。TextFiles
.exe
NewApps
NOEXT
DEFAULT
在 PowerShell 允许您运行脚本之前,您需要启用脚本执行。请参阅“启用脚本”部分PowerShell 标签 wiki。
完成后,您可以设置一个常规批处理文件,在您登录时运行该文件以启动此脚本。如果您将最后一个参数中的路径调整为保存大脚本的完整路径,则应该可以做到这一点:
powershell -Command "Start-Process -WindowStyle Hidden -FilePath powershell -ArgumentList 'C:\path\to\your\script.ps1'"
如果您需要更新各种扩展程序的放置位置列表,只需更新脚本文件即可。完成后,您可以注销并重新登录,或终止并重新启动后台 PowerShell 进程。