找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32656|回复: 7

[文件操作] 批量转换文件如何在命令窗口中显示正在处理的文件名

[复制链接]
发表于 2014-8-19 16:16:03 | 显示全部楼层 |阅读模式
使用的命令:
  1. for /R . %%i in (*.xml) do (java -jar -Xms512m -Xmx1024m  convert.jar "false" "%%i" "%%~dpni_cleaned%%~xi")
  2. pause
复制代码
功能:同一窗口中依次自动执行若干个文件转换。
期望:希望在转换每一个文件时能在窗口中看到它正在转换哪个文件,如何优化这个命令呢?比如下面杜撰的效果:
  1. Converting ...
  2. MyFileName_xx1.xml
  3. There are totally 1172 entries.
复制代码
或者:
  1. File: MyFileName_xx1.xml
  2. Converting ...
  3. There are totally 1172 entries.
复制代码
请多指教啊!
发表于 2014-8-19 16:24:06 | 显示全部楼层
  1. @echo off
  2. for /r %%i in (*.xml) do (
  3.     echo %%i
  4.     java -jar -Xms512m -Xmx1024m convert.jar "false" "%%i" "%%~dpni_cleaned%%~xi"
  5. )
  6. pause
复制代码
发表于 2014-8-19 16:29:07 | 显示全部楼层
个人更偏爱用 title %%i 修改窗口标题,这样不会和其他输出混在一起
 楼主| 发表于 2014-8-19 16:47:44 | 显示全部楼层
回复 2# DAIC
太给力了,多谢多谢!
 楼主| 发表于 2014-8-19 17:15:50 | 显示全部楼层
回复 3# CrLf
这种方法不错,不过在这个用例中,显示在窗口里更方便些,可以回头看哪个文件转换报错。

另外,咱们能否讨论一下这个之前你帮我写的打开不同窗口同时进行批量处理的命令,这个运行的时候有些文件要报错,实际上分别单转的时候是不报错的,因此说明不是源文件问题,是转换后的过程有问题:
  1. @echo off
  2. for /r %%i in (*.xml) do (
  3.          start "转换 %%~i" cmd /k java -jar -Xms512m -Xmx1024m convert.jar "false" "%%i" "%%~dpni_cleaned%%~xi"
  4. )
  5. pause
复制代码
我看错误有可能是因为生成临时文件时彼此冲突,因为有些文件太小了,转换过程都很快,同时生成新文件 (我想当然是这样:)),也许在这个命令里放一个参数让执行每个文件的时候都比前一文件开始晚2秒,或者各自生成不一样的临时文件名(目前貌似都是temp.xml)也许就不报错了?还是说,这事得改JAVA工具源码本身才能解决?
发表于 2014-8-19 17:22:28 | 显示全部楼层
延时两秒可以加一行
  1. ping /n 3 127.1 >nul
复制代码
另外,突然发现一个隐患,应该把
  1. for /r %%i in (*.xml) do (
复制代码
改成
  1. for /f "delims=" %%i in ('dir /s /a-d /b *.xml') do (
复制代码
 楼主| 发表于 2014-8-19 18:12:53 | 显示全部楼层
回复 6# CrLf

Done,这次完美解决,谢谢!
发表于 2014-8-19 21:55:03 | 显示全部楼层
回复 3# CrLf


    哈哈,,多看帖就是有好处,,又学一招小技巧,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 19:42 , Processed in 0.014828 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表