更改文件夹中的某些文件扩展名

Changing some file extensions in a folder

例如,我想将所有文件的扩展名更改为jpg。我可以用下面的代码来做到这一点。但是非jpg扩展名需要一一确定。我怎样才能自动执行此操作?

cd C:\Users\user\Desktop\
rename *txt *.jpg

有人指出后,我意识到您可能希望将所有文件制作为 jpg 文件,而不仅仅是 .txt 文件。一种方法是:

forfiles /M *.* /C "cmd /c if /i not @ext==\"jpg\" copy @file @fname.jpg /Y & del @file"

如果要包含子目录:

forfiles /S /M *.* /C "cmd /c if /i not @ext==\"jpg\" copy @file @fname.jpg /Y & del @file"

原回答:

In a bat file you can do this:

xcopy *.txt*.jpg /Y
del *.txt

Or as a command:

xcopy *.txt *.jpg /Y && del *.txt

您有 2 个选择,要么跳过已经存在的文件,要么重命名已经存在的文件:

跳过已经存在的文件。

@echo off
for %%i in ("%userprofile%\desktop\*.*") do if not "%%~xi" == ".jpg" if not exist "%%~ni.jpg" rename "%%~fi" "%%~ni.jpg"

或替换文件(如果存在):

@echo off
for %%i in ("%userprofile%\desktop\*.*") do if not "%%~xi" == ".jpg" move /Y "%%~fi" "%%~dpni.jpg"