标题: [文件操作] 批处理如何实现调用外部命令/程序对多个指定类型/扩展名的文件进行处理 [打印本页]
作者: xuxnq 时间: 2016-8-12 10:05 标题: 批处理如何实现调用外部命令/程序对多个指定类型/扩展名的文件进行处理
本帖最后由 pcl_test 于 2016-8-12 14:20 编辑
外部程序批量执行txt文件中的清单
1.读取指定文件夹<import>中的所有csv文件,生成一个list.txt文件
举例: import文件夹下面有1.csv 2.csv 3.csv 文件,通过批处理生成一个扩展名的list.txt文件
格式为
1.csv
2.csv
3.csv
2.调用外部程序,把txt里面的内容以行为单位,分别作为参数传入到外部程序中
举例:
call IMPORT.EXE 1.csv (这个为手动填写csv时的效果)我现在希望这个import.exe自动把list.txt中的文件全部执行一次。请问要怎么写?感谢。
作者: xxpinqz 时间: 2016-8-12 10:24
本帖最后由 xxpinqz 于 2016-8-12 14:21 编辑
- @echo off
- for /f "delims=" %%a in ('dir /b /a-d *.csv 2^>nul') do call IMPORT.EXE "%%a"
复制代码
作者: xuxnq 时间: 2016-8-12 10:45
回复 2# xxpinqz
可以运行了,但是生成list.txt的时候最后多了一个换行符,可以不生成这个换房符号吗?
作者: pcl_test 时间: 2016-8-12 13:06
回复 1# xuxnq
生成list.txt除了给import.exe调用还有什么用途么
作者: xuxnq 时间: 2016-8-12 13:34
回复 4# pcl_test
没有了。
作者: xxpinqz 时间: 2016-8-12 14:22
回复 3# xuxnq
改了不生成文件
作者: xuxnq 时间: 2016-8-12 17:00
回复 6# xxpinqz
好像不生成文件,但是里面还有一个换行符号,因为这个import.exe如果检测到还有一个空白行会报错。 可不可以再帮忙优化下,感谢
作者: xxpinqz 时间: 2016-8-12 18:18
回复 7# xuxnq
如果是换行,那应该是每次执行都会影响吧,不会只最后一次?
如果确定只是换行符,这样试试看。- @echo off&setlocal enabledelayedexpansion
- for /f %%i in ('copy/z %~s0 nul')do (
- for /f "delims=" %%a in ('dir /b /a-d *.csv 2^>nul') do (
- set "str=%%a"
- call IMPORT.EXE "!str:%%i=!"
- )
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |