c 與批處理結合對檔案批量重新命名

2021-09-08 08:35:07 字數 1056 閱讀 1401

這裡是批處理部分的**。

::@echo off

::遍歷檔案所在路徑下所有的mp4檔案

for %%i in (*.mp4) do (

rem 呼叫re.exe檔案,將檔名作為引數傳進去

re.exe %%i

)::凍結螢幕,以免一閃而過,方便看過程

pause

c++部分**

#include #include #include using namespace std;

//ひぐらしのなく頃に·禮01「羞曬し編」.mp4

int main(int argc,char **ar**)

{ if(argc==2)

{ //printf("%c %c\n",ar**[1][22],ar**[1][23]);

char a=ar**[1][22],b=ar**[1][23];//取出檔名內0和1字元

string name="寒蟬鳴泣禮";//字串拼接,不會c++的string的同學可以用c語言進行字串拼接

name+=a;

name+=b;

name+=".mp4";

//cout《但遇到檔名有空格的情況,c++這部分**執行就會出問題,因為引數會以空格分開。雖然用c語言可以做到檔名的還原,**也不長,但我更願意選擇在傳遞引數之前將空格去掉。

setlocal enabledelayedexpansion

set "str= "

for /f "delims=" %%i in ('dir /b *.mp4') do (

set "var=%%i"

ren "%%i" "!var:%str%=!"

)pause

將上面的**儲存為bat檔案,雙擊就可以將空格去掉了。只要三個檔案結合,大部分情況都可以解決。不過瑕疵還是有一些的,目前發現兩個,一是如果檔名過長,可能無法正確執行去空格部分**。這種情況好像只能選擇不去除空格。二是檔案重新命名後,檔案可能會被自動排序到未重新命名檔案的後面,造成二次重新命名。這種情況可以在cpp部分加個if特判

用python對檔案批量重新命名

執行環境 python 3.6.0 問題 檔案多,需要重新命名的檔案太多,學了變成語言還要手動更改嗎?完全不用,能用機器自己完成的絕不靠手動完成。程式執行前 程式執行後 function 檔案重新命名 author elvisct time 2019年6月12日 import os path c u...

檔案批量重新命名

今天遇到乙個問題,有一批檔案,需要修改字尾名,還要將前面的部分字元刪除,首先想到重新命名命令 ren 試了幾次,無法實現需求,只能,批處理了。在網上查了一下,寫了個,將字尾為.doc.doc的該為只有乙個.doc echo off setlocal enabledelayedexpansion 開啟...

檔案批量重新命名

把當前資料夾的所有檔案重新命名為 wf 把這個路徑下的所有檔案先查找到 遍歷所有檔案 有乙個新的名字wf rename 舊,新 import os file path os.getcwd list1 os.listdir file path print list1 當前目錄每個名字前面加 wf fo...