如何批处理更改文件名称 5

怎么将图中数字前的,字母做更改替换,保留后面字母及格式?大神,能解答嘛?O(∩_∩)O谢谢我照片里的文件是我需要修改的,只想把数字前的字母给替换成别的字母,简单点的,做个... 怎么将图中数字前的,字母做更改替换,保留后面字母及格式?大神,能解答嘛?O(∩_∩)O谢谢
我照片里的文件是我需要修改的,只想把数字前的字母给替换成别的字母,简单点的,做个.bat批处理文件修改的办法有木有?
展开
 我来答
七彩虹科技有限公司
2017-06-28 · 为您提供更好的产品和服务
七彩虹科技有限公司
七彩虹科技成立于1995年,中国著名的DIY硬件厂商, 亚太区最重要的显示卡提供商之一。专注于IT硬件产品研发、生产和销售,致力于为个人和企业用户提供最具创新与实用价值的硬件产品及应用方案。
向TA提问
展开全部
方法/步骤

1
在c盘建立一个文件夹,将下载的图片放置于该文件夹中,如下图所示。

2
鼠标左键点击,开始-》运行-》在对话框中输入字母“cmd”,进入dos模式 ,如下图所示。

3
在dos模式输入命令行“cd c:\pic”然后回车,再输入命令行“dir /b>rename.xls",如下图所示,可将文件夹中的文件名在rename.xls文件中列出。
小贴士:有的时候,你的计算机正处于中文输入状态,为确保命令行能够打出来,你可以切换成英文大写状态。

4
随后用xls打开c:\pic文件夹中的rename.xls,你会发现文件名以全部罗列在A列中(你也可以用鼠标来调整文件名的顺序),你可以在B1列中输入1.jpg作为第一个文件文件名。

5
鼠标选中B1单元格,并在B1列的右下方,使鼠标光标变为+号时,拖动使所有jpg文件的右侧B列中都有文件名。再将A8单元格中没有用的文件名删除,如下图示。

6
鼠标选中C1单元格,并在编辑框中输入公式="ren "&A1&" "&B1,如下图所示。

7
继续用鼠标拖动C1单元格右下方的句柄,使剩余的C2-C7单元格填充如下图所示。

8
然后,鼠标选中C列,鼠标右键复制,如下图示。

9
在记事本中,粘贴刚才的命令行,如下图示。

10
鼠标点击菜单“文件”——“另存为”,输入文件名ren.bat,要注意下图所示红圈中的路径及扩展名选项。

11
打开c盘pic文件夹,鼠标双击ren.bat这个批处理文件,即可将该文件夹下的jpg图片,按照刚才rename.xls中的顺序和文件名批量修改文件名,如下图示。

12
自此,你已经完成了批量修改文件名的操作。我们运用了dos命令技巧、xls技巧以及批处理3个知识点来达到批量修改文件名的效果。
END
注意事项

该经验需要有一定dos基础和电脑操作基础的人才能举一反三,如果掌握一定xls函数公式基础的话,可以把批量处理文件名玩得更溜。
追问
没有简单点的吗?做个.bat的批处理文件,我照片里的文件是我需要修改的,只想把数字前的字母给替换成别的字母
追答
不好意思  就这个了
qop_dob
2024-02-21 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3932万
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312,跟要处理的多个文件放一起双击运行
<# :
cls&echo off&cd /d "%~dp0"&set "self=%~f0"&mode con lines=5000
rem 将当前目录下多个文件名称中数字前面的字符内容替换/修改成其他指定内容
path %SYSTEMROOT%\System32\WindowsPowerShell\v1.0;%path%
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$newword="XXX";
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$self=get-item -literal $env:self;
$current=$self.Directory.FullName.trimend('\');
$files=@(dir -literal $current|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
    $base=$files[$i].BaseName -replace '^\D+(?=\d)', $newword;
    if($base -ne $files[$i].BaseName){
        $files[$i].Name+$c+$base+$files[$i].Extension;
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式