Tôi giả sử bạn biết độ dài của phần trước _
và sau dấu gạch dưới, cũng như phần mở rộng. Nếu bạn không nó có thể phức tạp hơn một chuỗi con đơn giản.
cd C:\path\to\the\files
for /f %%a IN ('dir /b *.jpg') do (
set p=%a:~0,3%
set q=%a:~4,4%
set b=%p_%q.jpg
ren %a %b
)
Tôi vừa mới đưa ra kịch bản này và tôi đã không thử nghiệm. Hãy xem this và that để biết thêm thông tin.
NẾU bạn muốn giả sử bạn không biết vị trí của _
và độ dài và phần mở rộng, tôi nghĩ bạn có thể làm điều gì đó cho các vòng kiểm tra chỉ số của _
, sau đó chỉ số cuối cùng của .
, bọc nó trong một điều goto
và làm cho nó hoạt động. Nếu bạn sẵn sàng gặp rắc rối đó, tôi khuyên bạn nên sử dụng WindowsPowerShell (hoặc Cygwin) ít nhất (vì lợi ích của riêng bạn) hoặc cài đặt một ngôn ngữ kịch bản nâng cao hơn (nghĩ Python/Perl) bạn sẽ nhận được nhiều sự hỗ trợ hơn đường.
Đây chính xác là những gì tôi cần. Cảm ơn!! – yuchien
vẫn còn là một vấn đề nhỏ: nó trao đổi ".jpg" quá. Ví dụ part1_part2.jpg => part2.jpg_part1 Orz – yuchien
@ raphael0914 - ??? Nó hoạt động hoàn hảo cho tôi: part1_part2.jpg -> part2_part1.jpg – dbenham