none
怎么批量重命名文件? RRS feed

  • 问题

  • 大神,

    请问怎么做可以使得文件服务器中所有的WORD,EXCEL,PPT,PDF文档的文件名后面加一个创建日期?有没有什么命令或者工具可以实现?

    2018年1月16日 4:56

答案

  • 您好,

    根据您的情况,我编写一个PowerShell脚本来实现您的需求。建议您首先新建一个测试文件夹进行小规模测试,如果有任何问题,请回复我,我会对脚本做出修改。供您参考:
    Get-ChildItem -Path D:\ -Include *.doc*, *.xls*, *.ppt*, *.pdf -Recurse | ForEach-Object {
        Rename-Item -Path $_.FullName -NewName ($_.BaseName + '-' + $_.CreationTime.ToString('yyyyMMddHHmmss') + $_.Extension)
    }

    如果需要进一步的帮助,请随时告诉我们。

    此致
    Albert

    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2018年1月16日 5:00

全部回复

  • 您好,

    根据您的情况,我编写一个PowerShell脚本来实现您的需求。建议您首先新建一个测试文件夹进行小规模测试,如果有任何问题,请回复我,我会对脚本做出修改。供您参考:
    Get-ChildItem -Path D:\ -Include *.doc*, *.xls*, *.ppt*, *.pdf -Recurse | ForEach-Object {
        Rename-Item -Path $_.FullName -NewName ($_.BaseName + '-' + $_.CreationTime.ToString('yyyyMMddHHmmss') + $_.Extension)
    }

    如果需要进一步的帮助,请随时告诉我们。

    此致
    Albert

    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2018年1月16日 5:00
  • 我把格式改成了:

    Get-ChildItem -Path \\192.168.15.20\share$ -Include *.doc*, *.xls*, *.ppt*, *.pdf -Recurse | ForEach-Object {
    
        Rename-Item -Path $_.FullName -NewName ($_.BaseName + '-' + $_.CreationTime.ToString('yyyyMMdd-HHmm') + $_.Extension)
    
    }
    不过还是非常感谢!

    2018年1月17日 1:40