【发布时间】:2014-10-31 13:53:12
【问题描述】:
我可以在 PowerShell 中的一个文件上运行 dos2unix:
dos2unix ./assets/style.css
如何对./assets/ 及其子目录下的所有 CSS 文件执行此操作?
【问题讨论】:
标签: powershell
我可以在 PowerShell 中的一个文件上运行 dos2unix:
dos2unix ./assets/style.css
如何对./assets/ 及其子目录下的所有 CSS 文件执行此操作?
【问题讨论】:
标签: powershell
'.\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 及更高版本。
$path | Join-Path -Child Path 'whatever'之类的事情。我只是喜欢管道!关于-File的好点。
Out-Null。我现在在手机上,所以我不能发布一个合适的例子。