标题: [文件操作] 批量生成若干条.bat命令并在独立的CMD窗口同时执行所有命令 [打印本页]
作者: ansonzfy8848 时间: 2014-8-7 15:11 标题: 批量生成若干条.bat命令并在独立的CMD窗口同时执行所有命令
本帖最后由 ansonzfy8848 于 2014-8-7 15:14 编辑
Hello 大侠们,
我有一个JAVA小工具,用来替换一种固定类型文件中的一些字符,命令中我需要手动输入源文件名和要生成的目标文件名,比如。- java -jar -Xms512m -Xmx1024m convert.jar "false" "FileName01.txt" "FileName01_convt.txt"
复制代码
/* "FileName01.txt" 是源文件名,"FileName01_convt.txt" 是新文件名
麻烦事儿:如果100个文件,写100条命令,痛苦。网上我看到一些变通的方法,比如写一个BAT命令,挨个自动执行,前一个执行完了才能开始后面的,这样太慢,而且有时有些文件处理一半遇到问题,工具就永远挂起不走了:
能否实现:
1. 自动输入源文件名和目标文件名,生成若干条命令(目录文件名可以用“源文件名_convt.txt”形式),
2. 更重要的是每条命令自动打开独立CMD窗口同时批量执行 (这样的用意是,哪个文件转换不下去了,不影响别的任务,同时,我可以看到工具返回的错误提示信息,好去找到并修复源文件)。
3. 每条命令执行完成后,不自动退出窗口,执行命令时能显示所处理的源文件名。
4. 要处理的文件统一全部放在JAVA工具所在目录的子目录里。
多谢多谢帮忙,科技创造生活!
作者: ansonzfy8848 时间: 2014-8-7 15:16
在线等待啊。。
作者: CrLf 时间: 2014-8-7 16:09
本帖最后由 CrLf 于 2014-8-7 17:37 编辑
你会后悔同时开 100 个窗口的,电脑差一点系统都可能崩溃- cd /d "JAVA工具所在目录\"
- for /f "delims=" %%a in ('@dir /a-d /b /s "*.txt"') do (
- if "%%~dpa" neq "%cd%\" (
- start "正在处理%%~a" cmd /k java -jar -Xms512m -Xmx1024m convert.jar "false" "%%~fa" "%%~dpna_convt%%~xa"
- )
- )
复制代码
作者: ansonzfy8848 时间: 2014-8-7 16:29
回复 3# CrLf
太棒了,多谢多谢,我试试先。
别担心电脑,VM 一堆")
作者: ansonzfy8848 时间: 2014-8-7 16:46
你会后悔同时开 100 个窗口的,电脑差一点系统都可能崩溃
CrLf 发表于 2014-8-7 16:09
有一点能否改进一下,目前是读取与JAVA工具同一目录中的TXT文件,能否让工具去读取JAVA工具目录里的子目录下的TXT文件?我想让文件与工具分开,一目了然。谢谢了。。。!!!
作者: CrLf 时间: 2014-8-7 16:48
回复 5# ansonzfy8848
已修改
作者: ansonzfy8848 时间: 2014-8-7 17:28
回复 6# CrLf
貌似有点问题,提示 "Unable to access the jarfile convert.jar", 请再帮忙看看?
作者: CrLf 时间: 2014-8-7 17:38
回复 7# ansonzfy8848
已修改
不懂 java.exe 的参数规则,如果还有问题,把 "%%~dpna_convt%%~xa" 改成 "%%~na_convt%%~xa" 再试试
作者: ansonzfy8848 时间: 2014-8-7 17:51
回复 8# CrLf
大功告成!!一切非常完美,多谢,下次请你喝Beer :)
作者: Linuxer 时间: 2014-8-7 23:51
回复 4# ansonzfy8848
跑虚拟机的,这至少两大排的内存条啊。。
作者: ansonzfy8848 时间: 2014-8-8 10:34
回复 8# CrLf
长官,我今天比较文件发现,所有生成的新文件是同一个文件,也就是说,我转换了比如1,2,3,4,5,等几个文件,生成的文件都是文件2的内容。再帮我看看是代码需要修改吗?谢谢。
急用。
作者: ansonzfy8848 时间: 2014-8-8 10:36
回复 10# Linuxer
实际上没有那么夸张有数百个文件,一般也不超过50. 在服务器上搭VM。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |