powershell - 根据部分文件名创建文件夹名称
问题描述
我的文件名中包含“-”(连字符)。我正在尝试为每个文件名创建一个文件夹并将文件移动到该文件夹。
这是我想要使用的:
dir | %{
$id = $_.Name.SubString(0,5);
if(-not (Test-Path $id)) {mkdir $id};
mv $_ "$id\$_";}
问题是,一些文件名的连字符前少于 5 个字符,因此对于这些文件夹,连字符被添加到文件夹名称中。我尝试使用拆分措辞,但我被语法困住了。
下面是几个文件名示例:
- A1909-6628.txt
- A963-6634.txt
在此先感谢您的帮助
解决方案
试试这个
#split return an array
$id = ($_.Name -split '-')[0];
推荐阅读
- java - 来自 2 个(或更多)字符串的压缩字符串 - "AB" + "YZ" = "AYBZ"
- sql-server - 如何为 Django 指定正确的模式格式?“错误:无法准备语句。(8180)”
- python - 如何在 python 中拟合数据集?- lr.fit(x_train, y_train) 给我错误
- html - 如何在 textarea 标签中显示 HTML textarea 片段?
- postgresql - 如何在 SQL 中运行 psql 元命令
- php - 隐藏变量的值
- javascript - HTML 格式的 Altair 报告,但图表仅显示部分
- angular - ng.probe() 在控制台中;未捕获的 ReferenceError:未定义 ng
- xaml - 将 IsChecked 属性与 xamarin MVVM 中的单选按钮组绑定
- javascript - 如何使用 JQuery 在动态选择中显示预先保存的值?