我可以在PowerShell中对一个文件运行dos2unix
:
dos2unix ./assets/style.css
如何对“./assets/”及其子目录下的所有CSS文件执行此操作?
我可以在PowerShell中对一个文件运行dos2unix
:
dos2unix ./assets/style.css
'.\assets' | Get-ChildItem -Recurse -File -Filter '*.css' | ForEach-Object {
dos2unix $_.FullName
}
Get-ChildItem
类似于dir
或者ls
(在powershell中,这两个命令的别名就是该cmdlet)。
-File
表示只返回文件。
-Recurse
表示递归子目录。
-Filter
让我们只获取所需的文件模式。
然后我们将其管道传递到ForEach-Object
中,以执行一个脚本块对于返回的每个文件,在其中,我们只需执行dos2unix命令。
FullName
是文件对象的属性,它包含文件的完整路径。
'.\assets'
的管道使用有些奇怪。为什么不直接使用Get-ChildItem Assets -Recure -Filter *.css | Foreach {dos2unix $_.FullName}
呢?请注意,您不需要引用*.css
。此外,使用-File
选项只适用于 PowerShell v3 及更高版本。 - Keith Hill$path | Join-Path -Child Path 'whatever'
这样做事情。我只是喜欢管道!关于-File
的观点很好。 - briantistOut-Null
。我现在正在使用移动设备,无法发布适当的示例。 - briantist