簡體   English   中英

刪除奇怪的文件擴展名

[英]remove strange file extensions

我有一個文件夾,其中包含一些名稱如下的文件

0003.4b3d943b8df71af248d12f8b2e7a224a
0004.1874ab60c71f0b31b580f313a3f6e777
0005.1f42bb885de0ef7fc5cd09d34dc2ba54
0006.7a32642f8c22bbeb85d6c3b5f3890a2c
0007.859c901719011d56f8b652ea071c1f8b
.
.
.

我想通過刪除這些擴展名來重命名這些文件,並且只需要file name部分即可。

0003
0004
0005
0006
.
.
.
.

如何使用腳本實現這一目標?

如果要重命名文件夾中的所有文件,那么您需要做的是:

ren * *.

請參閱Windows RENAME命令如何解釋通配符? 有關更多信息。

如果文件夾中還有不應該重命名的文件(帶有“普通”擴展名的文件),那么以下方法將起作用:

for /f "eol=; delims=" %%F in ('dir /b /a-d *^|findstr /r "\.................................$"') do @ren "%%F" *.

\\. 匹配點和32 . 匹配擴展名的32個字符。 $將正則表達式匹配項錨定到該行的末尾。

如果要直接從命令提示符而不是批處理腳本中運行命令,請將每個%%F更改為%F

您正在尋找的線是

for %%I in (d:\temp\*) DO ren "%%I" "%%~nI"

其中d:\\temp是要重命名的文件的位置。 請注意,批處理文件必須位於其他文件夾中,否則也將對其重命名。 另請注意,這將重命名目標文件夾中的所有文件。

嘗試這個:

for /f "delims=" %%i in ('dir /a-d /b') do echo ren "%%~fi" "%%~ni"

查看輸出並刪除echo ,如果可以的話。

使用這樣的東西

for /f "delims=" %%A in ('dir /a:-d /b /o:n') do echo %%~nA

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM