我已经看过类似的问题,并将它们用作我在这里尝试做的基础。我有一个包含许多文件的文件夹,这些文件被命名为“作者名-图书Title.azw”。
我想为每个作者创建子文件夹,并将他们的所有书籍移动到该文件夹中。这是我到目前为止的脚本。它成功地为“作者”创建了文件夹,但在移动项上出现了问题,无法找到路径的一部分。
$files = Get-ChildItem -file
foreach ($file in $files){
$title = $file.ToString().Split('-')
$author = $title[0]
if (!(Test-Path $author))
{
Write-Output "Creating Folder $author"
New-Item -ItemType Directory -Force -Path $author
}
Write-Output "Moving $file to $author"
Move-Item -Path $file -Destination $author -Force
}
最佳答案
您必须使用此:
Get-ChildItem -file | foreach {
$title = $_.ToString().Split('-')
$author = $title[0]
if (!(Test-Path $author))
{
Write-Host "Creating Folder $($author)"
New-Item -ItemType Directory -Force -Path "$author"
}
Write-Host "Moving $($_) to $($author)"
Move-Item -Path "$_" -Destination "$author" -Force
}
您必须用双引号将文件路径引起来。因此,您的代码无法正常工作。
关于powershell - 在Powershell中创建文件夹和移动文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59517101/