想求个改名的dos批处理bat

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想求个改名的dos批处理bat相关的知识,希望对你有一定的参考价值。

你好,想求个bat,
222999_0002_2.jpg改成222999_2.jpg
222998_0001_3.jpg改成222998_3.jpg,
将中间四位数字去掉,谢谢谢谢谢谢

    其实修改文件名的DOS 命令就是简单: REN 旧文件.JPG 新文件名.JPB, 唯一的要求文件夹中有成百上千个文件,而如何可以自动生成批量的文件修改命令来修改这些文件。

    假设这些文件是存储在C:\\xxx_filerev\\

X1: 打开EDGE 或者 GOOLE CHROME浏览器,在地址栏输入: C:\\xxx_filerev\\

X2: 然后选择所有文件名,复制,粘贴到EXCEL中

A列为复制和粘贴的原始文件名

B2单元格输入公式:=LEFT(A2, FIND("_",A2))&RIGHT(A2,LEN(A2)-FIND(CHAR(140),SUBSTITUTE(A2,"_",CHAR(140),LEN(A2)-LEN(SUBSTITUTE(A2,"_",""))))) 【转换成为所需要的文件名】

C2单元格输入公式:="ren "&A2&" "&B2 【自动生成批量的修改文件名的DOS命令】

然后整个B列和C列,用“自动填充公式”向下拉即可完成其余的内容.


X3: 然后将C列的全部内容复制,粘贴到一个TXT文件中, 并修改后缀为.bat文件即可

X4: 把这个文件COPY到原来的文件夹,双击运行,所有的文件名就修改为所需要的文件名了:

参考技术A 不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件或文件夹放一起双击运行@echo off&cd /d "%~dp0"&mode con lines=5000
rem 删除文件名称中间部分的字符串
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
for /f "delims=" %%a in ('dir /a-d-h/b^|findstr /i "[^_][^_]*_[^_][^_]*_[^_][^_]*\\.jpg$"') do (
    for /f "tokens=1-3 delims=_" %%b in ("%%~nxa") do (
        echo;"%%a" --^> "%%b_%%d"
    )
)
echo;%#% +%$%%$%/%_% %z%
pause
exit

追问

老师好,谢谢谢谢,您这段代码dos窗口显示是正确,正是我想要的结果,但实际文件名并没改动成功,不知是什么问题。

追答

按运行代码后窗口标题栏中的提示联系我

本回答被提问者采纳
参考技术B 用acdsee 5.0,重命名,
批量重命名,可以用通配###代换的,
参考技术C 拼音不过关,造成的错 参考技术D 先新建文本文件GM.txt
@echo off
ren F:\222999_0002_2.jpg 222999_2.jpg
ren F:\222998_0001_3.jpg 222998_3.jpg
(⋯反复复制上述命令,改一下个别数字,直到做完为止,)
Pause
保存该txt文件,再把GM.txt改扩展名txt改为bat,回车保存即可。双击GM.bat即可自动运行

bat-批处理--dos----wmic命令

想通过wmic命令,获取硬件信息,组成一个计算机特征码
不受重装系统而改变
最后得到一个变量%pcid%即可
求完整批处理代码
可以获取几组不变的硬件组合起来生成%pcid%
参考资料
::获取磁盘资料:
wmic DISKDRIVE get deviceid,Caption,size,InterfaceType
::获取分区资料:
wmic LOGICALDISK get name,Description,filesystem,size,freespace
::获取CPU资料:
wmic cpu get name,addresswidth,processorid
::获取主板资料:
wmic BaseBoard get Manufacturer,Product,Version,SerialNumber
::获取内存数:
wmic memlogical get totalphysicalmemory
::获得品牌机的序列号:
wmic csproduct get IdentifyingNumber
::获取声卡资料:
wmic SOUNDDEV get ProductName

参考技术A echo off
echo 获取磁盘资料:
echo " >1.txt
wmic DISKDRIVE get deviceid,Caption,size,InterfaceType>>1.txt
echo 获取分区资料:

wmic LOGICALDISK get name,Description,filesystem,size,freespace>>1.txt

echo 获取CPU资料:

wmic cpu get name,addresswidth,processorid>>1.txt
echo 获取主板资料:

wmic BaseBoard get Manufacturer,Product,Version,SerialNumber>>1.txt

echo 获取内存数:
wmic memlogical get totalphysicalmemory>>1.txt

echo 获得品牌机的序列号:
wmic csproduct get IdentifyingNumber>>1.txt

echo 获取声卡资料:
wmic SOUNDDEV get ProductName>>1.txt
echo " >>1.txt
set/p q=<1.txt
echo %q%

pause
参考技术B 明显楼主是想有人帮忙想论文喇``
论文啊难写啊
先是写DOS批处理命令在WINDOWS下的应用,要写点实例。就说有个病毒,有2个进程,会互相启动。需要同时把2个进程关掉。这就需要程序了。此时没有任何的软件编写工具。此时此刻,DOS批处理命令的优点马上展现出来了.就是像这样和其他的语言软件比较,突出所有的优点。
参考技术C 只用 硬盘序列号 和cpu id就可以了
其他的有可能会发生改变
@echo off&setlocal ENABLEDELAYEDEXPANSION
set sig=0
for /f %%i in ('wmic DISKDRIVE get signature') do (
set /a sig+=1
if !sig!==2 set pcid=%%i
)
set sig=0
for /f %%i in ('wmic cpu get ProcessorId') do (
set /a sig+=1
if !sig!==2 set pcid=!pcid!%%i
)
echo cpu的id和硬盘序列号的组合为: %pcid%
pause本回答被提问者采纳

以上是关于想求个改名的dos批处理bat的主要内容,如果未能解决你的问题,请参考以下文章

批处理修改文件名

求个指教批处理bat网络检测,网络通则启动程序一,网络不通启动程序二?

windows dos 批量重命名文件

windows dos 批量重命名文件

DOS按规则批量重命名所有(子)目录下文件

dos的操作流程 怎么弄成批处理bat