更改文件夹中的某些文件扩展名
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"
例如,我想将所有文件的扩展名更改为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"