gpt4 book ai didi

powershell - PowerShell 脚本中的 Get-ChildItem 权限被拒绝错误

转载 作者:行者123 更新时间:2023-12-03 00:56:25 24 4
gpt4 key购买 nike

每当我尝试运行我的 PowerShell 脚本时,都会出现错误。请注意,我没有太多的编程知识。
这是代码(替换了一些文件夹名称)

cd -Path "F:\****\folder1"
$files = Get-ChildItem
foreach ($file in $files) {
$newName = $file.BaseName + ".mp3"
ffmpeg -i $file.FullName -codec:a libmp3lame -b:a 320k $newName
}
在文件夹 1 中,有文件夹 2,里面有我想要获取的文件。我没有在文件夹 2 中运行,因为将来文件夹 1 内会有一个文件夹 3,我想从两者中获取文件。我收到错误消息:
F:\****\folder1\folder2: Permission denied
我相信错误在于 Get-ChildItem .我怎样才能解决这个问题?我以管理员身份运行脚本。

最佳答案

如果我正确理解了这个问题,您有一个源文件夹 "F:\****\folder1其中文件保存在需要处理的子文件夹中。
为此,您需要添加 -File以及 -Recurse打开 Get-ChildItem cmdlet。
像这样的东西:

$sourceFolder = "F:\Somewhere\folder1"
$files = Get-ChildItem -Path $sourceFolder -File -Recurse
foreach ($file in $files) {
$newName = [System.IO.Path]::ChangeExtension($file.FullName, ".mp3")
# since the output file should go into the same directory, you can do
# $newName = [System.IO.Path]::ChangeExtension($file.Name, ".mp3")
ffmpeg -i "$($file.FullName)" -codec:a libmp3lame -b:a 320k "$newName"
}
当然,您需要有权在源文件夹及其子目录中创建新文件

关于powershell - PowerShell 脚本中的 Get-ChildItem 权限被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62760122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com