cmd 批量處理當前目錄檔案

2021-10-08 04:48:28 字數 2458 閱讀 6955

@echo off

setlocal enabledelayedexpansion

for /f "tokens=*" %%i in

('dir/b ')do

(echo %%i | findstr /c:".mp4"

>nul

if!errorlevel!

== 0 (

set tmp_str=%%i

set video_str=

!tmp_str:.mp4=_aes!

openssl aes-128-cbc -e -in %%i -out !video_str! -nosalt -iv 61646d696e31323561646d696e313235 -k 61646d696e31323561646d696e313235

echo

[!tmp_str!

] --^>

[!video_str!

] , encrypt_ok

))

@echo off ::關閉回顯

:: 開啟變數延遲, 批處理讀取命令時是按行讀取的(另外例如for/if命令等,其後用一對圓括號閉合的所有語句也當作一行);

:: 簡單來說,在讀取了一條完整的語句之後,不立即對該行的變數賦值,而會在某個單條語句執行之前再進行賦值,也就是說「延遲」了對變數的賦值。

:: 開啟變數延遲後,使用 !var! 取變數的值

setlocal enabledelayedexpansion

for /f "tokens=*" %%i in

('dir/b ')do

( :: dir/b 與 dir 區別見下面的

echo %%i | findstr /c:".mp4"

>nul :: /c:".mp4",會準確識別「.mp4」,具體區別見下面;

>nul 表示遮蔽此條命令的輸出;重定向到 nul

if!errorlevel!

== 0 ( :: errorlevel 在上條命令執行為 true 時,值為0,否則為其他值

set tmp_str=%%i :: 初始化乙個變數 tmp_str

set video_str=

!tmp_str:.mp4=_aes! :: 替換 tmp_str 中的 .mp4 字元為 _aes ,並賦值給新變數 video_str

:: 批量操作命令,可以有很多行,此處是對 mp4 檔案進行批量 aes 加密

openssl aes-128-cbc -e -in %%i -out !video_str! -nosalt -iv 61646d696e31323561646d696e313235 -k 61646d696e31323561646d696e313235

:: 輸出結果/提示資訊等,^ 為轉義字元,^> 這樣可以輸出 「>」 ,否則就會是重定向操作

模糊背景處理 當前介面背景

獲取手機牆紙或當前activity背景,做模糊處理,此方法有些耗時!rootview為當前要設定的布局 以下為獲取模糊背景 private 獲取桌布管理器 wall manager wall manager wall manager.getinstance this.getcontext 獲取當前桌...

cmd 批量重新命名檔案

這裡有兩種方法,最簡單的就是直接使用windows自帶的批量重新命名方法 但是這種方法有缺陷,只能以固定的命名規律來命名。另一種方法就是通過dos命令來批量修改檔名。選定所有你想修改的檔案,然後右鍵選單選擇重新命名,接下來輸入隨便乙個名字,比如photo,然後回車確定。接下來你就會看到被選中的 n ...

CMD批量建立目錄 配置管理

echo off rem 設定字符集為gbk chcp 936 rem cd 到指令碼所在目錄 set dir dp0 cd d dir rem 檔名陣列,必須以逗號 分隔。符號 為不換行符號。set foldernames 01 會議記錄 02 專案管理 01 輸入資料 02 專案管理 02 輸出...