powershell - 如何从 Powershell 中的文件名列表中删除索引指定的空格
问题描述
我对 powershell 很陌生,我找不到任何关于如何处理以下问题的文档。我只是不知道如何简洁地表达我的问题以在谷歌上产生任何极其相关的结果。
假设我有一个目录中的文件列表:
$stuff = "file name1 1.csv", "file name2 78.csv", "file name3 14.csv"
"file name1 1.csv"
"file name2 78.csv"
"file name3 14.csv"
我想删除单词文件后的第一个空格和单词名称后的第二个空格,同时也忽略 .csv 指定,给我留下:
"filename1"
"filename2"
"filename3"
我只想循环遍历这些文件名的列表。我想对此进行编码,以便可以将其推广到任何文件名组。有没有人有任何好主意,或者任何人都可以指出我正确的方向/文档?
提前致谢。
解决方案
这是完成工作的另一种方法。[咧嘴笑]
它能做什么 ...
如果您正在处理实际的文件对象,则创建一个要使用的字符串数组,您可能需要使用这些对象的.Name
or.BaseName
属性。- 将该数组放入
$InStuff
集合中 - 遍历该集合
- 在空间上分裂
- 仅从该拆分中获取第一个和第二个项目
- 不带分隔符加入上述项目
- 将它们发送到
$OutStuff
集合 - 在屏幕上显示
编码 ...
#region >>> create an array of strings to work with
# in real life, replace this block with your source instead
$InStuff = @'
file name1 1.csv
file name2 78.csv
file name3 14.csv
'@ -split [System.Environment]::NewLine
#endregion >>> create an array of strings to work with
$OutStuff = foreach ($IS_Item in $InStuff)
{
# take only the 1st two items
# join them with no delimiter
-join $IS_Item.Split(' ')[0,1]
}
$OutStuff
输出 ...
filename1
filename2
filename3
推荐阅读
- android - 我可以使用 jks 作为 googleplay 的密钥库吗
- javascript - 带有请求承诺的 NodeJS 发布请求以进行 Twitch 身份验证
- reactjs - Redux 在 action/reducer 调用后反应不设置值
- java - 通过 Intent 发送一个非常大的列表
- c++ - c++向量与用户定义的类比较?(==, <, >)
- firebase - 为什么 Flutter 会因为明显存在的“缺少吸气剂”而失败?
- python - python的创意标准输入和错误处理
- python - torch.empty() 中“out”参数的奇怪行为
- excel - 无法让 WholeStory 使用 Excel VBA 选择和格式化 Word Doc 中的所有文本
- node.js - Mongo:集合缺少实例中的属性