我的电脑D盘下有500多张图片。 但是由于都是网上。名字都太长
看起来不美观。
谁能用批处理全部重命名成1以一递增到全部图片。
吗? 例如:1 ;2;3;4;;5;6 。
本人不要软件,只需要批处理。。
高手请详细说明下。我会给高分。。
批处理高手来看下。
答案:6 悬赏:40 手机版
解决时间 2021-02-07 10:23
- 提问者网友:记得曾经
- 2021-02-06 23:20
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-02-07 00:26
批处理程序:
for %%a in (*.jpg) do call :renstart "%%a" %1
:renstart
for /L %%b in (1,1,9) do rename %1 %200%%b.jpg
for /L %%b in (10,1,99) do rename %1 %20%%b.jpg
for /L %%b in (100,1,999) do rename %1 %2%%b.jpg
使用说明:
1.该批处理文件执行时带一个参数,即重命名文件时所要的前缀(中间不留空格),如a001.jpg的“a”。
eg:batren.bat 长城
2.修改了原先文件名不能有空格的缺陷。
说明解释:
1.文件主要使用了for命令,来取文件夹中的每一个jpg文件;
2.由于批处理文件只是连续执行多条命令,所以功能有限,无意中利用了系统不能有重名文件的机制;
3.有很多冗余,执行时间稍长一些,但所提的要求是能完成的;
4.call :renstart %%a %1调用后,renstart中的%1表示"%%a",而不是批处理文件的第一个参数;
5.文件限定了重命名的文件数在1000以内,如果超出,可以自己修改命令;
for %%a in (*.jpg) do call :renstart "%%a" %1
:renstart
for /L %%b in (1,1,9) do rename %1 %200%%b.jpg
for /L %%b in (10,1,99) do rename %1 %20%%b.jpg
for /L %%b in (100,1,999) do rename %1 %2%%b.jpg
使用说明:
1.该批处理文件执行时带一个参数,即重命名文件时所要的前缀(中间不留空格),如a001.jpg的“a”。
eg:batren.bat 长城
2.修改了原先文件名不能有空格的缺陷。
说明解释:
1.文件主要使用了for命令,来取文件夹中的每一个jpg文件;
2.由于批处理文件只是连续执行多条命令,所以功能有限,无意中利用了系统不能有重名文件的机制;
3.有很多冗余,执行时间稍长一些,但所提的要求是能完成的;
4.call :renstart %%a %1调用后,renstart中的%1表示"%%a",而不是批处理文件的第一个参数;
5.文件限定了重命名的文件数在1000以内,如果超出,可以自己修改命令;
全部回答
- 1楼网友:春色三分
- 2021-02-07 05:41
代码如下,子文件夹的图片的话要难点下面的可不行:
@echo off
set num=0
for /f "tokens=*" %%i in ('dir /a /b d:\*.*') do set image="d:\%%i" & call :ren %%i
:ren
set m=%1
if not defined m goto end
set /a num=%num%+1
ren %image% %num%.*
goto :eof
:end
echo 程序处理完毕,按任意键退出。。。 & pause>nul
exit
- 2楼网友:洎扰庸人
- 2021-02-07 04:52
这个简单,保存为bat文件,和这些jpg文件放在同一个文件夹里运行即可。
@echo off&setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
(set /a num+=1)
(ren "%%a" "!num!%%~xa"))
pause
- 3楼网友:拾荒鲤
- 2021-02-07 03:32
::哇 原来你也喜欢收集图片啊 我可是图片收集高手了,起码有两张DVD的图片咯 全是美女 哈哈
::言归正传,你所需要的批处理我正好写好一个,这个批处理可以整理任意文件,只要你把批处理文件放在要整理的文件的文件夹里面,或者是旁边,按照提示运行就行,如何做BAT不用我废话了吧,下面是代码,你可以直接复制!
::你运行此批处理提示你"改后的文件名称"时,如果你只要1,2,3...500的样子 那你直接回车好了,上面提示输入后缀不可缺少
@echo off & setlocal EnableDelayedExpansion
title 文件批量重命名整理
mode con cols=50 lines=25 & color 9b
echo 此批处理脚本用于将此目录下的所有同类文件批量重命名
set /p start=开始整理文件请输入[Y]:
set /p bak=请输入要整理的文件名后缀[如jpg]:
set /p name=请输入更改后的文件名称:
if "!start!"=="y" (
md newFILES
for /f "delims= tokens=1" %%i in ('dir /b /s ^| find ".!bak!"') do (
set /a num+=1
copy "%%~dpxni" .\newFILES\!name!!num!.!bak! >nul
cls
echo.已经复制文件:
echo !num!个
echo 此文件[%%~xni]已经改名为 [!name!!num!.!bak!]
echo %%~xni --^> !name!!num!.!bak! >>"Files Renamed List.txt"
)
) else goto :eof
echo 完成整理!
PAUSE>nul
- 4楼网友:鱼忧
- 2021-02-07 02:18
copy *:\...(路径)\*.jpg *:\...(相同路径,或者你想要的路径)\1.jpg
这样文件出来后就是1(1),1(2)这样的了
- 5楼网友:鸠书
- 2021-02-07 01:24
比如你要删除c:/abc.exe文件,但它又在运行。批处理文件可以这样写: @echo off @taskkill /f /im abc.exe del c:\abc.exe
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯