gpt4 book ai didi

根据文件名派生的子串移动文件

转载 作者:行者123 更新时间:2023-12-01 12:59:40 25 4
gpt4 key购买 nike

我启动了一个简单的脚本,以便将具有特定前缀的文件移动到同名文件夹中,例如:W100_11.jpg W100_12.jpg 到文件夹 W100 中。

感谢以下答案的帮助,我取得了进步并成功循环,可以遍历文件夹中的文件,我在使用 -filter 开关时遇到问题,在尝试使用 move-item cmdlet 时我得到了错误

当前代码为:

$sourceDir = read-host "Please enter source Dir:"
$format = read-host "Format to look for with . :"
#$length = read-host "length of folder name:"

gci -Path $sourceDir | % {
If( -not $_.PSIsContainer)
{
$path = $sourceDir + "\" + $_.Name.substring(0, 3)
$_
if(-not (Test-Path $path))
{
mkdir $path

}
move $_.fullname $path

}
}

我在使用 -filter 开关时仍然遇到问题。这是问题的部分解决方案

最佳答案

下面的代码缩短了 for 循环并显示了在文件名上使用子字符串的示例。您从 Get-ChildItem (gci) 调用中获得一个 FileInfo 对象,因此您需要使用它的属性 Name 来执行子字符串。参见 MSDN有关 FileInfo 的更多信息。

$sourceDir = read-host Please enter source Dir
$format = read-host Format to look for with .

gci -Path $sourceDir -filter $format | % {
If( -not $_.PSIsContainer)
{
$path = $sourceDir + "\" + $_.Name.substring(0, 3)
if(-not (Test-Path $path))
{
mkdir $path
}
move $_ $path
}
}

关于根据文件名派生的子串移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7316797/

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