@ECHO off & SETLOCAL EnableDelayedExpansion
SET "_dir=" REM Must finish with '\'
SET "_ext=jpg"
SET "_toEdit=Vacation2010"
SET "_with=December"
FOR %%f IN ("%_dir%*.%_ext%") DO (
CALL :modifyString "%_toEdit%" "%_with%" "%%~Nf" fileName
RENAME "%%f" "!fileName!%%~Xf"
)
GOTO end
:modifyString what with in toReturn
SET "__in=%~3"
SET "__in=!__in:%~1=%~2!"
IF NOT "%~4" == "" (
SET %~4=%__in%
) ELSE (
ECHO %__in%
)
EXIT /B
:end
kịch bản này cho phép bạn thay đổi tên của tất cả các file có chứa Vacation2010
có cùng tên, nhưng với December
thay vì Vacation2010
.
Nếu bạn sao chép và dán mã, bạn phải lưu .bat
trong cùng một thư mục của ảnh. Nếu bạn muốn lưu tập lệnh trong một thư mục khác [E.G. bạn có một thư mục yêu thích cho các tiện ích] bạn phải thay đổi giá trị của _dir
bằng đường dẫn của ảnh.
Nếu bạn phải làm công việc tương tự cho các bức ảnh khác [hoặc các tập tin khác changig _ext
] bạn phải thay đổi giá trị của _toEdit
với chuỗi bạn muốn thay đổi [hoặc xóa] và giá trị của _with
với chuỗi bạn muốn đặt thay vì _toEdit
[SET "_with="
nếu bạn chỉ muốn xóa chuỗi được chỉ định trong _toEdit
].
Bạn có thể thích [XYplorer] (http://www.xyplorer.com/), mà tôi sử dụng cho một vài năm, cho đến khi tôi ngừng sử dụng Windows ở nhà. Nó có một giao diện đổi tên hàng loạt để xử lý tình huống này mà không cần lập trình, và cũng đáng giá cả, tất cả xung quanh. –
@Roger Ngoài ra Bulk Rename Utility (http://www.bulkrenameutility.co.uk) là một công cụ rất tốt và nó hoàn toàn miễn phí. – bluish