1. 程式人生 > >利用Powershell 實現檔名的批量修改!

利用Powershell 實現檔名的批量修改!

今天看到論壇上有個人問這個問題:


有很多圖片要重新命名,因為原來的位數不夠,要增加到6位,我的檔名命名的規則是前面兩個英文字母后面是4位和5位的數字,格式(AA0001.jpg,AA10001.jgp).現在要改為:(AA000001.Jpg,AA010001.Jpg).
規則就是如果檔名是4數字的在英文字母后面加2個"0",如果是5位在英文字母后面加一個"0",後面的保持不變.
前面的英文字母是不一樣的.規則:AA,AB,AC.......ZX,AY,ZZ.

我對程式碼做了一些擴充套件,只要最終是8位的字首都可以實現相應的規則更名,程式碼如下:

param#定義引數
(
[string] $picdirectory="d:\temp\",#定義查詢檔案的路徑
[string] $outputlog="d:\log\outlog.log"#定義日誌寫入路徑)
$filenames=Get-ChildItem -Path $picdirectory -Include *.jpg -Recurse#查詢目錄下JPG檔案foreach($filename in $filenames)#根據查詢的檔案進行輪詢
{
    $filelength=$filename.name.length   # 求出檔名長度
    $addstring=$filename.name.substring(0,2)  #定義檔名初始值        for($i=$filelength;$i -lt 12;$i++)   #求出檔名中需要加入多少個0,根據長度進行輪詢
        {
           $addstring=$addstring+"0"  # 在字串後面加入0
        }        $newfilename=$addstring+$filename.name.substring(2,($filename.name.length-2))       #求出新的檔名稱  
         Rename-Item -Path $filename.fullname -NewName $newfilename
      #將檔案更名為新的名稱
 if ($?)
 {
 $writestring="檔案"+$filename.name+"在"+(Get-Date).tostring("yyyyMMdd-HHmm")+"分修改為"+$newfilename #得出需要寫入日誌的內容
 $writestring|Out-File -Append -FilePath $outputlog -Encoding unicode  #將日誌寫入日誌檔案中
 }
}
 最終結果我們來看看,貢獻幾張我和兒子的PP,哈哈:

相關推薦

利用Powershell 實現檔名批量修改

今天看到論壇上有個人問這個問題:有很多圖片要重新命名,因為原來的位數不夠,要增加到6位,我的檔名命名的規則是前面兩個英文字母后面是4位和5位的數字,格式(AA0001.jpg,AA10001.jgp).現在要改為:(AA000001.Jpg,AA010001.Jpg).規則就

利用Python實現掃描日誌關鍵字Python真的無所不能

dal pst ould 實現 掃描 count 格式 .py oid 我們在壓力測試過程會收集到很多log,怎樣快速從中找到有用信息呢?讓python腳本幫我們做這部分工作吧! 廢話不說,上代碼 環境:win10 + python2.7.14 countTime.py

利用Python實現導彈自動追蹤室友面前的裝逼利器史上最詳細

技術 取數 跟隨鼠標 構造 制作 思想 室友 相同 精確 不好意思 ,上傳錯了。接著看圖! 由於待會要用pygame演示,他的坐標系是y軸向下,所以這裏我們也用y向下的坐標系。 算法總的思想就是根據上圖,把時間t分割成足夠小的片段(比如1/1000,

IO流中檔名批量修改和簡單複製剪下

簡單利用IO流技術實現指定資料夾下,指定檔案型別的檔案進行重新命名,以及定義一個複製檔案的方法 如果要實現: 多級資料夾下的檔案修改或者複製,加上遞迴方法即可 檔名的修改,還可以利用字串的拼接​​​​​​​,subString,split,indexOf public c

python:批量修改檔名批量修改圖片尺寸 批量修改檔名

批量修改檔名  參考部落格:https://www.cnblogs.com/zf-blog/p/7880126.html 功能:批量修改檔名

利用實現括號匹配演算法

演算法:檢測表示式中的字元,若是左括號就入棧,如果是右括號就出棧一個元素與其配對,配對成功則繼續訪問下一個字元,否則退出。出現非括號字元則跳過。 #include <stdio.h> #i

Python實現檔名批量處理

我們知道檔名是可以手動修改的,但是如果要同時修改多個檔名,那一個一個修改會浪費掉很多時間,此時我們就可以考慮使用python來實現

python 實現批量修改檔名

#!coding=utf-8 import sys import os def replace_filename(file_path, var1, var2): for root, dirs, files in os.walk(file_path): for file

Python實現批量修改檔名(萬能模板)

環境:Window10 + Python3.7 + PyCharm(2018.1.4) -------------------------------------****************** ** *********************--------------------

利用Python批量修改資料夾下所有資料夾的檔名

話說需求產生動力。 昨天下了一個小圖包。作者把所有的檔名都加上了他們自己的網站名....看得我吐血了0.1個壓縮包裡面還有好多個壓縮包。看得我心很累。所以希望按照檔名,批量修改我個人小相簿裡面的所有檔案的檔名./邪惡的笑 用到的模組只有OS os.path.basena

利用bash shell批量修改檔名

在百度雲盤上下載的檔名一般都是亂碼(如下圖),由於檔案太多,手動更改檔名有點麻煩,於是嘗試寫了一個bash指令碼來批量修改. bash指令碼檔案 #!/bin/bash for files in `ls` do # 擷取檔名的前兩個字元

利用IO流中File類 批量修改檔名

將上述檔案改名為 有序且具有核心關鍵字的檔名<span style="font-size:18px;">package cn.itcast_05; import java.io.File;

利用Python實現批量下載騰訊視頻

mar 視頻 http 分鐘 交流 ogl 分享圖片 tps 技術分享 導語 利用Python下載騰訊非VIP視頻,也就是可以免費觀看的視頻。做這個的起因是最近在看一個叫"請吃紅小豆吧"的動漫,一共三分鐘的動漫,廣告時間竟然要一分鐘,實在忍無可忍,於是

利用Python實現批量註冊網站用戶,註意不可用於商業用途哦

ora asi text 用途 parent 51cto containe orm aci 場景目標 現在大多數網站的「用戶註冊功能」都需要用戶正確輸入了驗證碼,才能發起註冊的請求,如果想大量註冊用戶,正確識別驗證碼變的很關鍵。 普通的驗證碼使用 tesserocr,加上訓

利用Matlab批量修改檔名

這段時間在用matlab做畢設,所以從vot裡面下很多的資料來測試結果,而對於從其他地方下的資料就需要做一丟丟的處理,也是為了方便。這裡就需要對資料進行重新命名,一般一個訓練集就有一千多,我總不能一個一個重新命名吧,於是想到matlab對於這種批處理的事情肯定比

QT實現批量修改檔名的程式

一目錄下有多個檔名,如下: bd_aaaaaaa_1.avi bd_aaaaaaa_2.avi bd_aaaaaaa_3.avi bd_aaaaaaa_4.avi …. 修改成:  bd_1.avi bd_2.avi bd_3.avi bd_4.avi … 首先 需

利用Powershell 批量建立資料夾

客戶提到一個需求,是批量的在某個目錄建立一個基於使用者名稱的資料夾。我們通用使用Powershell 指令碼來達到這個目的: 首先我們通過Powershell 命令獲取當前AD中的所有使用者,我們用如下的指令碼達到目的: 我們檢視我們相對應的使用者名稱稱: 我們把檔案

辦公小能手,使用Python批量修改檔名

這兩天在整理一些文章,但是資料夾中每個文章沒有序號會看起來很亂,所以想著能不能用Python寫一個小指令碼。 簡單寫了下面幾行程

利用python實現批量查詢ip地址歸屬地址

proc shadow 手動 color sys copy lis rip image 今天需要查詢nginx訪問的客戶端ip是否和調度一樣!先是用shell把文件中的ip截取出來: python腳本如下:(哈哈,新手寫的很草率)#!/usr/bin/env#-- codi

使用PowerShell 批量修改O365 用戶UPN

exce pri shel ring mes throw cat -o 腳本 又來分享一些日常用的小腳本哈,比如說有些小型企業在使用O365時開始用的是O365自帶的域名,過了一段時間後想用自己的域名了,這時候管理員就需要將用戶的UPN修改成自定義域名。總體來說這不