如何使用 Powershell 递归所有文件夹并用单行替换来替换多行字符串?

问题描述 投票:0回答:1

我使用 sed 来完成此任务,但它更改了我文件中的所有行结尾,我认为无论如何,学习如何在 Powershell 中完成同样的事情对我来说是有好处的。

我有一个文件夹,其中包含许多 c/c++ 代码的子文件夹。 我需要递归遍历每个文件夹,并将所有以 .h、.c、.hpp 或 .cpp 结尾的文件中的多行标题替换为单行标题。

当前标题如下所示:

/************************************************************************************ ///_|
File: $Id: //perforcedepot/path/file.ext#1 $

LEGAL NOTICE: COPYRIGHT Company Inc., All Rights Reserved 
*************************************************************************************/ //|_/

新标题是:

// Copyright company name - url

如何使用 Powershell 来完成此操作?

windows powershell
1个回答
0
投票

第 1 步是获取文件列表。

我试过这个:

get-childitem -recurse -filter *.?pp -name

这似乎有效,当然,除了我还获得了 .ipp 文件。我只想要 .h、.c、.hpp 和 .cpp 文件。

© www.soinside.com 2019 - 2024. All rights reserved.