使用powershell在linux发行版中获取文件名和文件扩展名

马马杜

我在 CentOS 上使用以下脚本来获取文件扩展名和文件名,没有扩展名和完整文件名,它在 Windows 上运行良好,但是当我在 ubuntu 上使用它时它不起作用,它显示了很多错误:

方法调用失败,因为 [System.IO.DirectoryInfo] 不包含名为“LastIndexOf”的方法。

方法调用失败,因为 [System.IO.DirectoryInfo] 不包含名为“Substring”的方法。

你可以在下面找到我写的代码

$files = get-childitem /etc/ssl/certs
foreach ($file in $Files)
{ 
# Nom du fichier avec extension
$pos_last_anti_slash = $file.LastIndexOf("\")
$fullname = $files.Substring($pos_last_anti_slash+1)
# Extension du fichier
$pos_last_point = $file.LastIndexOf(".")
$extension = $file.Substring($pos_last_point+1)
Write-Host $extension

# Nom du fichier sans extension
$filename = $file.Substring($pos_last_anti_slash+1)
$pos_last_points = $filename.LastIndexOf(".")
$filename = $filename.Substring(0,  $pos_last_points)
Write-Host $filename
if($filextension == "p7b")
{
openssl x509 -inform p7b -in /etc/ssl/certs/$fullname -out 
/etc/ssl/certs/$filename.pem
$var = ((& openssl x509 -in $file -dates -noout) -match 'notAfter')

}
}
点亮

使用Get-Membercmdlet 查看文件对象具有哪些字段。我认为 FullName、BaseName、Extension 和 Name 可能很有趣。

Get-ChildItem -File -Path '/etc/ssl/certs' | Get-Member

我没有测试过这个,但它可能接近你想要的。我确实替换==-eq.

$certsdir = '/etc/ssl/certs'
$files = Get-ChildItem -File -Path $certsdir
foreach ($file in $files) { 
    # Nom du fichier avec extension
    $fullname = $_.Name

    # Extension du fichier
    $extension = $_.Extension
    Write-Host $extension

    # Nom du fichier sans extension
    $filename = $_.BaseName
    Write-Host $filename

    if ($filextension -eq ".p7b") {
        openssl x509 -inform p7b -in $_.FullName -out $(Join-Path -Path $certsdir -ChildPath "$filename.pem")
        $var = ((& openssl x509 -in $file -dates -noout) -match 'notAfter')
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用flask获取输入文件名和文件扩展名

来自分类Dev

从URL删除文件扩展名和文件名

来自分类Dev

在文件名中获取扩展名

来自分类Dev

从bash中的完整文件路径获取父目录名称和文件名而没有扩展名?

来自分类Dev

如何下载网址中没有文件名和文件扩展名的文件

来自分类Dev

使用Inno Setup替换文件名在每个发行版中都会更改的文件

来自分类Dev

按扩展名和文件名过滤

来自分类Dev

按扩展名和文件名过滤

来自分类Dev

Ruby:获取不带扩展名的文件名

来自分类Dev

如何仅获取文件名+变量的扩展名

来自分类Dev

获取不带扩展名的文件名

来自分类Dev

perl 如何获取文件名和扩展名

来自分类Dev

如何在PostgreSQL中从文件名获取文件扩展名?

来自分类Dev

在VB.NET中获取文件名的文件扩展名?

来自分类Dev

SQLite:从包含文件名的列中获取不带扩展名的文件

来自分类Dev

获取输入文件名并复制它,但使用不同的文件扩展名

来自分类Dev

.htaccess:文件和文件扩展名

来自分类Dev

从相同扩展名但不具有扩展名(MATLAB)的目录中获取文件名

来自分类Dev

Unix:删除文件名,仅获取扩展名,然后使用sed重命名该扩展名

来自分类Dev

不带扩展名的文件名

来自分类Dev

使用 Powershell 过滤文件扩展名

来自分类Dev

AppleScript中没有扩展名的文件名

来自分类Dev

AppleScript中没有扩展名的文件名

来自分类Dev

linux find命令的文件名不带扩展名的未知扩展名

来自分类Dev

比较目录子结构和文件名而忽略文件类型/扩展名

来自分类Dev

比较目录子结构和文件名而忽略文件类型/扩展名

来自分类Dev

在JavaScript中获取文件扩展名

来自分类Dev

使用 wget 下载与文件名中的扩展名和特定文本匹配的文件

来自分类Dev

在Linux或Windows中更改目录中的所有文件名和扩展名

Related 相关文章

  1. 1

    使用flask获取输入文件名和文件扩展名

  2. 2

    从URL删除文件扩展名和文件名

  3. 3

    在文件名中获取扩展名

  4. 4

    从bash中的完整文件路径获取父目录名称和文件名而没有扩展名?

  5. 5

    如何下载网址中没有文件名和文件扩展名的文件

  6. 6

    使用Inno Setup替换文件名在每个发行版中都会更改的文件

  7. 7

    按扩展名和文件名过滤

  8. 8

    按扩展名和文件名过滤

  9. 9

    Ruby:获取不带扩展名的文件名

  10. 10

    如何仅获取文件名+变量的扩展名

  11. 11

    获取不带扩展名的文件名

  12. 12

    perl 如何获取文件名和扩展名

  13. 13

    如何在PostgreSQL中从文件名获取文件扩展名?

  14. 14

    在VB.NET中获取文件名的文件扩展名?

  15. 15

    SQLite:从包含文件名的列中获取不带扩展名的文件

  16. 16

    获取输入文件名并复制它,但使用不同的文件扩展名

  17. 17

    .htaccess:文件和文件扩展名

  18. 18

    从相同扩展名但不具有扩展名(MATLAB)的目录中获取文件名

  19. 19

    Unix:删除文件名,仅获取扩展名,然后使用sed重命名该扩展名

  20. 20

    不带扩展名的文件名

  21. 21

    使用 Powershell 过滤文件扩展名

  22. 22

    AppleScript中没有扩展名的文件名

  23. 23

    AppleScript中没有扩展名的文件名

  24. 24

    linux find命令的文件名不带扩展名的未知扩展名

  25. 25

    比较目录子结构和文件名而忽略文件类型/扩展名

  26. 26

    比较目录子结构和文件名而忽略文件类型/扩展名

  27. 27

    在JavaScript中获取文件扩展名

  28. 28

    使用 wget 下载与文件名中的扩展名和特定文本匹配的文件

  29. 29

    在Linux或Windows中更改目录中的所有文件名和扩展名

热门标签

归档