批处理bat怎么文件操作

有一批jpg文件,需要把其中的一部分改名为png后缀。我虽然知道可以用ren*.jpg*.png来进行全部更名,但是不知道怎么才能按照需要来部分改名…具体问题是,在一个子... 有一批jpg文件,需要把其中的一部分改名为png后缀。
我虽然知道可以用ren *.jpg *.png来进行全部更名,但是不知道怎么才能按照需要来部分改名…

具体问题是,在一个子文件夹notchange里有不需要更名的文件,比如说1.jpg和3.jpg,
根目录下是1.jpg,2.jpg,3.jpg,现在我想要用bat,读取notchange中的文件名,并且将notchange中不存在的文件(即2.jpg)改名为.png~
恩假如是linux的shell的话,大概会用if -e的样子吧…不过windows的命令行真心没学过orz…
大大可否帮我写一下这个批处理文件~~感激不尽
展开
 我来答
hy_Lucifer
2013-08-01 · TA获得超过389个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:238万
展开全部
以下代码,你需要改dir1与dir2的等号后面的路径,所有路径与文件名不能有空格。

@echo off
setlocal enabledelayedexpansion
set dir1=D:\新建文件夹3
set dir2=D:\新建文件夹3\notchange
for /f "tokens=1 delims=." %%a in ('dir /b !dir1!\*.jpg') do (
set name=%%a
if not exist !dir2!\!name!.jpg (
rename !dir1!\!name!.jpg !name!.png
)
)
exit
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘卍1269719868
2013-08-01 · 超过22用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:53.3万
展开全部
@echo off&color a&cls&if "%1"=="" (title 3秒后自动关闭&cls&echo.&echo.&echo 请将要修改后缀的文件拖到本批量处理上即可。注:路径不能有空格、支持一次多个。&echo.&echo.&ping /n 3 127.1>nul&exit)
for %%B in (%1) do Set 待处理文件名=%%~nB%%~xB
for %%A in (%1) do Set CdPath=%%~dA%%~pA
ren %CdPath%%待处理文件名% *.png
echo 修改后缀完成,三秒钟后自动关闭。&ping /n 3 127.1>nul&exit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
愈未央2I
2013-08-01 · TA获得超过676个赞
知道小有建树答主
回答量:668
采纳率:50%
帮助的人:482万
展开全部
如果是一两个用来排除还好说,如果不只1.jpg和3.jpg,那就麻烦,建议你把不需要更名的文件剪切走,再用全部更名更改后粘贴过来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈哥深惠通勤
2013-08-01 · TA获得超过1176个赞
知道小有建树答主
回答量:1909
采纳率:33%
帮助的人:835万
展开全部
@echo off

for /f "delims=" %%i in ('dir/b *.jpg') do (
find "%%i" notchange.txt ||ren "%%i" "%%~ni.png")
追问
很遗憾的说~不过不是一个名单文档哦,而是一个文件夹里的文件…所以没法使用啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式