[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何批量将指定扩展名的文件的名称的前10位字符命名给另一种扩展名的文件

本帖最后由 pcl_test 于 2016-11-3 15:00 编辑

批处理如何实现文件批量命名?
文件夹里有A.B两种格式的文件,A的格式为.jpg ,B的格式为.pdf,现在要把A的文件名的前10位命名给B文件,如何写代码。 求帮助

回复 9# DAIC
代码很强大,我也学习了。

TOP

是,能用纯批处理来解决的,尽量用批处理来完成。如果吃力或者耗时太多的,还是交给其它工具完成吧,把这个作为兴趣与锻炼可以继续去研究纯p处理方式,解决问题还是以实用为主。

TOP

回复 30# amwfjhh


    好吧,现在我也是这样。曾经是忠实纯批+vbs/js派,因为这组合最通用
    后来接触的东西多了渐渐觉得 shell 只是 shell,不要硬生生当脚本用,搞得很累,效果还未必好
    不过感觉单就楼主要求而言,貌似还是纯批最方便

TOP

回复 29# CrLf


    一次处理这么多内容我坚决不用批处理了,会把任务分摊给其它工具去,然后把结果返回给批处理再接着整。

TOP

本帖最后由 CrLf 于 2014-11-26 23:52 编辑

回复 28# amwfjhh


    是的,变量延迟发生在解析语法之后、执行命令前夕,引用 %%a 的时候会发生变量延迟,而执行 set /p 取得输入之前变量延迟已经发生过了
    set /p 有个缺点是最多读取 1024 字节,超出就被截断,这个相当郁闷

TOP

回复 19# CrLf


    除了开启局部延时,set/p好像也对!可以很好支持。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%i in ('^<%~s0 find /c /v ""') do set /a lineCount=%%i
  4. <%~s0 >test2.txt (for /l %%a in (1 1 !lineCount!) do (
  5.    set /p str=
  6.    echo !str!
  7. ))
  8. echo 共 !lineCount! 行
  9. fc test2.txt %~s0
  10. pause
复制代码

TOP

差点看成“富士康”。

TOP

回复 25# amwfjhh


    我tm上次摸的苹果还是红富士

TOP

我要是壕就不需要熟悉了,早就用得不想再用了,这是项目设备,第一天接触……

TOP

回复 23# amwfjhh


    卧槽,壕,求包养

TOP

回复 21# CrLf


    WINDOWS机子,刚才在MAC上熟悉下操作习惯,看到贴子想测试没环境,只好心痒痒地换到WINDOWS上来测试结果了。

TOP

谢谢。延时理解又多了一分。

TOP

回复 20# amwfjhh


    这跟瘟7有啥关系

TOP

看得心痒,我换win机子测试下……

TOP

返回列表