Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于读取.jar中pom.properties文件的Windows批处理脚本_Windows_Maven_Batch File_Jar_Registry - Fatal编程技术网

用于读取.jar中pom.properties文件的Windows批处理脚本

用于读取.jar中pom.properties文件的Windows批处理脚本,windows,maven,batch-file,jar,registry,Windows,Maven,Batch File,Jar,Registry,我正在寻找一种简单的方法来读取pom.properties文件的第2行,该文件位于编译的.jar的META-INF文件夹中。(见此处:)。我经常需要知道文件中的日期,每次打开罐子并深入研究它都是一件痛苦的事情。我想要一个Windows批处理脚本,我可以通过右键单击.jar来运行它(因此我还需要有关Windows注册表命令的帮助)。批处理命令的结果可以显示在cmd窗口中(一个很好的好处是将值复制到剪贴板) 简言之:我希望能够右键单击Windows资源管理器中的.jar文件>选择“Get Maven

我正在寻找一种简单的方法来读取pom.properties文件的第2行,该文件位于编译的.jar的META-INF文件夹中。(见此处:)。我经常需要知道文件中的日期,每次打开罐子并深入研究它都是一件痛苦的事情。我想要一个Windows批处理脚本,我可以通过右键单击.jar来运行它(因此我还需要有关Windows注册表命令的帮助)。批处理命令的结果可以显示在cmd窗口中(一个很好的好处是将值复制到剪贴板)

简言之:我希望能够右键单击Windows资源管理器中的.jar文件>选择“Get Maven Generated Date”(或任何内容)>并将pom.properties文件的第二行打印到控制台(并复制到剪贴板)

我知道这不会太难,我只是不知道该找什么:)


提前感谢您的帮助。

请注意,使用System.IO.Compression.FileSystem类需要.NETv4.5

Add-Type -As System.IO.Compression.FileSystem;

$sourceJar = <source-jar-here>;
$jarArchive = [IO.Compression.ZipFile]::OpenRead($sourceJar).Entries
try
{
    foreach($archiveEntry in $jarArchive)
    {
        if($archiveEntry.Name -like "*pom.properties")
        {
            $tempFile = [System.IO.Path]::GetTempFileName()
            try
            {
                [System.IO.Compression.ZipFileExtensions]::ExtractToFile($archiveEntry, $tempFile, $true)
                $mavenDate = Get-Content $tempFile -First 2
                Write-Host $mavenDate
            }
            finally
            {
                Remove-Item $tempFile
            }
        }
    }
}
finally
{
    $jarArchive.Dispose
}
添加类型-As System.IO.Compression.FileSystem;
$sourceJar=;
$jarArchive=[IO.Compression.ZipFile]::OpenRead($sourceJar).Entries
尝试
{
foreach($jarArchive中的archiveEntry)
{
if($archiveEntry.Name-类似“*pom.properties”)
{
$tempFile=[System.IO.Path]::GetTempFileName()
尝试
{
[System.IO.Compression.ZipFileExtensions]::ExtractToFile($archiveEntry,$tempFile,$true)
$mavenDate=获取内容$tempFile-前2个
写入主机$mavenDate
}
最后
{
删除项$tempFile
}
}
}
}
最后
{
$jarArchive.Dispose
}

堆栈溢出不是代码编写服务。我们可以帮助您解决所编写代码的问题,但不要等待我们为您开始并完成项目。我建议这将是你剧本的一个很好的主干。实际上,这是我打算链接的。前一篇还不错。我为我不恰当的帖子道歉,但谢谢你的链接。