【发布时间】:2016-01-26 19:13:43
【问题描述】:
我是 WinPowerShell 的新手。拜托,你能不能给我一些代码或信息,如何编写一个程序来处理文件夹中的所有 *.txt 文件: 1.计算文件中每一行的字符数 2. 如果行的长度超过 1024 个字符,则在该文件夹中创建一个子文件夹并将文件移动到那里(我将如何知道哪个文件每行有超过 1024 个字符)
我尝试过VB和VBA(这对我来说比较熟悉),但我想学习一些新的很酷的东西!
非常感谢!
编辑:我发现了一段代码的开始
$fileDirectory = "E:\files";
foreach($file in Get-ChildItem $fileDirectory)
{
# Processing code goes here
}
或
$fileDirectory = "E:\files";
foreach($line in Get-ChildItem $fileDirectory)
{
if($line.length -gt 1023){# mkdir and mv to subfolder!}
}
【问题讨论】:
-
到目前为止你得到了什么?如果您的目的是学习,那么仅仅向其他人寻求解决方案会适得其反。
-
为什么你认为会适得其反?使用 stackoverflow,我在 VBA 方面学到了很多东西。请找到我的编辑帖子。我对 OOP 非常了解。我只需要一个代码来查看,让我说,“一种新的思维方式”。请支持我。谢谢
-
您要求一些事情,但看起来您没有表现出任何努力,这是提出问题的先决条件? ...从那里开始,编辑看起来很棒。你的powerShell版本是什么
-
这是一个可教的时刻。
foreach ($file in gci *.txt) { gc $file | %{ if ($_.length -gt 1024) { move $file subdir; break } } }向您展示了foreach的两种不同表示法。你能找到第二个吗? -
@Matt 我觉得是3.0版,我用的是WIN7内置PS(cmd->PowerShell)
标签: powershell