批处理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…
大大可否帮我写一下这个批处理文件~~感激不尽 展开
我虽然知道可以用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…
大大可否帮我写一下这个批处理文件~~感激不尽 展开
展开全部
以下代码,你需要改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
@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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是一两个用来排除还好说,如果不只1.jpg和3.jpg,那就麻烦,建议你把不需要更名的文件剪切走,再用全部更名更改后粘贴过来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
for /f "delims=" %%i in ('dir/b *.jpg') do (
find "%%i" notchange.txt ||ren "%%i" "%%~ni.png")
for /f "delims=" %%i in ('dir/b *.jpg') do (
find "%%i" notchange.txt ||ren "%%i" "%%~ni.png")
追问
很遗憾的说~不过不是一个名单文档哦,而是一个文件夹里的文件…所以没法使用啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询