Powershell获取图片名字、文件夹及拍摄时间的例子

如果你想要整理你的图片档案,这里有一段代码它能从图片文件获取相关的拍摄信息。

这个例子使用一个系统函数获得”我的图片”的路径,接着从其目录和子目录查询所有的文件。获得的结果通过管道符传递给函数Get-DateTaken,它将返回这些图片的名字、文件夹及照片的拍摄日期。


代码如下:

function Get-DateTaken
{
  param
  (
    [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('FullName')]
    [String]
    $Path
  )

begin
  {
    $shell = New-Object -COMObject Shell.Application
  }

process
  {
  $returnvalue = 1 | Select-Object -Property Name, DateTaken, Folder
    $returnvalue.Name = Split-Path $path -Leaf
    $returnvalue.Folder = Split-Path $path
    $shellfolder = $shell.Namespace($returnvalue.Folder)
    $shellfile = $shellfolder.ParseName($returnvalue.Name)
    $returnvalue.DateTaken = $shellfolder.GetDetailsOf($shellfile, 12)

$returnvalue
  }
}

$picturePath = [System.Environment]::GetFolderPath('MyPictures')
Get-ChildItem -Path $picturePath -Recurse -ErrorAction SilentlyContinue |
  Get-DateTaken

(0)

相关推荐

  • PowerShell中按修改时间查找文件的方法

    本文介绍一个PowerShell中按文件的的修改时间来查找文件,这里要用到文件对象的LastWriteTime这个属性. 在很多时候,我都都需要按修改时间来查找文件.比如一个网站,近期发现被人挂马了,我们可能会看看近期的备份是否有被修改,从而确定一下被黑的大致时间段.有了这个时间段后,我们要看看这段时间之内有哪些文件被修改过,有哪些新增上来的文件,很有可能黑客留下下的一句话木马,甚至大马就在里面. 下面我们来看看PowerShell中如何根据文件修改时间来查找文件. 小编先来看看d盘根目录下有些

  • PowerShell中使用Get-Date获取日期时间并格式化输出的例子

    在PowerShell中有一个Get-Date的cmdlet,使用它可以直接返回当前的日期和时间.使用-Format参数可以返回当前的年.月.日.时.分.秒等. Get-Date的直接使用 在PowerShell中直接调用Get-Date,可以返回当前的日期和时间,包括年.月.日.时.分.秒.举例如下: 复制代码 代码如下: PS C:\Users\zhanghong> Get-Date 2013年9月9日 22:26:56 Write-Host中使用Get-Date 注意:在Write-Hos

  • Powershell小技巧之系统运行时间

    支持所有PS版本 Windows每次启动都有一个高进度计数器,并且当系统运行这个计数器将返回一个毫秒: $millisecondsUptime= [Environment]::TickCount "I am up for $millisecondsUptime milliseconds!" 这种毫秒几乎引起不了你的兴趣,使用New-Timespan调整计数器的毫秒数(或任何有关间隔时间)让其成为一个有意义的单体. $millisecondsUptime= [Environment]::

  • PowerShell中的TimeSpan时间差对象使用实例

    TimeSpan对象表示一个时间差,比如今天的10点10分,和明天的12点12分,就差1天2小时2分.这个"1天2小时2分"就是一个TimeSpan.这个东西有什么用呢?小编之前在做一个小东西的时候,需要评估一下两个不同的方法看哪个效率更高.于是小编在程序开始的时候,设置一个起始时间,在程序结束的时候再设置一个结束时间,然后两个时间一相减,得到一个时间差,洪哥以时间差小者为优. 下面是几个使用TimeSpan对象的例子: 创建一个TimeSpan对象,表示1天3小时 复制代码 代码如下

  • PowerShell计算脚本执行时间的实现方法

    另一个方法是设置两个时间快照和结束时间,计算它们的时差.这将告诉你Get-Hotfix执行了多久,得到的输出数据里将包含脚本执行的时间: 复制代码 代码如下: $start = Get-DateGet-HotFix$end = Get-DateWrite-Host -ForegroundColor Red ('Total Runtime: ' + ($end - $start).TotalSeconds) 文章出处:http://www.pstips.net/

  • PowerShell中计算时间差的方法

    PowerShell中有一个New-TimeSpan的cmdlet,使用它可以很方便的计算两个时间之间的差值.差值还可以提取出年.月.日.时.分.秒. 以前,小编想要知道当时时间到十一放假还有多少天时,小编一般会写一个VBScript脚本来简单计算一下.这个VBScript脚本很简单,只有一句话: 复制代码 代码如下: MsgBox DateDiff("d", Now(), "2013-10-1") 新建一个纯文本文件,把这句话放进去.然后再把这个文件的文件名改为x

  • Powershell获取图片名字、文件夹及拍摄时间的例子

    如果你想要整理你的图片档案,这里有一段代码它能从图片文件获取相关的拍摄信息. 这个例子使用一个系统函数获得"我的图片"的路径,接着从其目录和子目录查询所有的文件.获得的结果通过管道符传递给函数Get-DateTaken,它将返回这些图片的名字.文件夹及照片的拍摄日期. 复制代码 代码如下: function Get-DateTaken{  param  (    [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropert

  • springboot如何获取相对路径文件夹下静态资源的方法

    今日遇到一个问题:springboot需要获取到一个自定义名称文件夹下的静态资源(图片等),并且文件夹的路径不在classPath下面,而是一个相对路径. 一开始使用修改配置文件的方式: # 配置静态资源访问前缀 spring.mvc.static-path-pattern=*/** # 配置静态资源路径,默认配置失效 spring.resources.static-locations=../upload 发现并不行,无法解析出相对路径. 后面通过自定义静态资源映射配置类实现了: @Config

  • Asp.net获取服务器指定文件夹目录文件并提供下载的方法

    本文实例讲述了Asp.net获取服务器指定文件夹目录文件并提供下载的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: string dirPath = HttpContext.Current.Server.MapPath("uploads/"); if (Directory.Exists(dirPath)) {        //获得目录信息        DirectoryInfo dir = new DirectoryInfo(dirPath);       

  • C#判断获取的是文件夹还是文件的实例

    如下所示: if(File.Exists(path)){ // 是文件 }else if(Directory.Exists(path)){ // 是文件夹 }else{ // 都不是 } 以上这篇C#判断获取的是文件夹还是文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • C#获取某路径文件夹中全部图片或其它指定格式的文件名的实例方法

    1.编写获取文件名(全路径)子函数 /////param ///path:文件夹路径 ///suffix:后缀格式, 如bmp,txt ///fileList:文件名存放 ///isSubcatalog:true遍历子文件夹,否则不遍历 void getFiles(string path, string suffix, ref List<string> fileList, bool isSubcatalog) { string filename; DirectoryInfo dir = new

  • node.js解决获取图片真实文件类型的问题

    遇到一个需求:假定有一个图片文件,真实的类型为jpg,而有人偷懒把jpg直接复制一张,存为同名的png文件,这样在as3读取文件时不会遇到问题,但手机c++在读取文件时却遇到问题了 - -! 现在就需要写一个程序,遍历所有文件夹下的文件,查找文件格式"不正常"的文件.我们的资源主要是gif.png.jpg,最开始,我到网上找到一篇文章:根据二进制流及文件头获取文件类型mime-type,然后读取文件二进制的头信息,获取其真实的文件类型,对与通过后缀名获得的文件类型进行比较. 复制代码

  • 使用C#获取系统特殊文件夹路径的解决方法

    win7下无法向c盘写入文件,当前用户只能向自己的用户文件夹写入文件,比如MyDocuments,文件夹,用c#得到这些文件夹的目录方法是: 复制代码 代码如下: string path=System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);  Environment.SpecialFolder 枚举说明: CommonApplicationData 目录,它用作所有用户使用的应用程序特定数据的公共储存库.

  • Powershell比较两个文件夹的不同

    快速找出两个文件夹中不同的部分,可以使用下面例子: 复制代码 代码如下: $list1 = Get-ChildItem c:\Windows\system32 | Sort-Object -Property Name   $list2 = Get-ChildItem \\server12\c$\windows\system32 | Sort-Object -Property Name     Compare-Object -ReferenceObject $list1 -DifferenceOb

  • Powershell小技巧--将文件夹中的大文件分成若干份

    朋友有一文件夹,全部是EML文件,约20G.他需要把这20G文件按每个文件夹2G分成10个.于是乎写了以下脚本: #目标文件夹 $scrfile = "d:\test" #起始目录名 $directory = 0 #1825361100 #76547428 #判断当目录的文件数大于0时while循环为真 while( (dir -Path $scrfile -Filter *.eml ).count -gt 0) { #起始目录名为1 $directory++ #建立目录 New-It

  • Python获取当前脚本文件夹(Script)的绝对路径方法代码

    Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题.感觉是当前工作目录变成了导入py文件当前目录.如果你有配置文件的读取操作,然后都放在一个py文件中,而你又用的是相对路径,而且这个py文件在多个不同目录下的py文件中被导入,那就呵呵了...还是用绝对路径吧. 解决这个问题,可以用绝对路径.当然是自动的绝对路径,而不是每次都手动给前缀赋值,让脚本自动寻找当前文件的绝对路径. 此处分享在python下获取一个脚本的绝对路径的2种方式. 1.

随机推荐