PowerShell无法访问桌面目录及复制文件问题求助
问题分析与解决办法
先确认你的Desktop真实路径
先执行这条命令,获取系统中当前用户Desktop文件夹的正确路径:
[Environment]::GetFolderPath('Desktop')
cd ~\Desktop找不到路径,大概率是因为PowerShell里~指向的用户目录下,Desktop要么不存在,要么系统实际的Desktop路径被修改过,和~\Desktop不匹配。
解决复制目录的问题
注意到你要复制的mycoolfile.txt是目录(看输出里的d-----模式),PowerShell复制目录必须加上-Recurse参数,否则会报错。结合正确的Desktop路径操作:
- 用上面的命令拿到真实的Desktop路径,比如假设返回
C:\Users\chaos\Desktop - 执行复制命令:
cp .\mycoolfile.txt -Destination "你的真实Desktop路径" -Recurse
如果Desktop目录已存在,这条命令会把mycoolfile.txt整个目录复制进去;如果不存在,会自动创建Desktop目录再完成复制。
解决跳转Desktop的问题
如果真实路径不是C:\Users\chaos\Desktop,直接用真实路径跳转即可:
cd "真实Desktop路径"
嫌输入麻烦的话可以设置一个别名:
$desktop = [Environment]::GetFolderPath('Desktop') Set-Alias desktop $desktop # 之后直接输入 cd desktop 就能进入Desktop目录
为什么会出现矛盾的错误提示?
你遇到的cp报错说Desktop已存在,但cd找不到路径,最大可能是C:\Users\chaos\Desktop是个文件而非目录(比如之前误操作创建了同名文件)。可以执行这条命令检查:
Get-Item C:\Users\chaos\Desktop -ErrorAction SilentlyContinue
如果返回结果显示是文件类型,删掉它并重建目录:
Remove-Item C:\Users\chaos\Desktop New-Item -ItemType Directory -Path C:\Users\chaos\Desktop
之后再尝试复制和跳转操作,应该就能正常运行了。
内容的提问来源于stack exchange,提问作者J3ST3R
相关产品推荐
相关产品推荐

