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

[文件操作] 批处理如何实现调用外部命令/程序对多个指定类型/扩展名的文件进行处理

本帖最后由 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中的文件全部执行一次。请问要怎么写?感谢。
1

评分人数

    • pcl_test: 发帖前先使用论坛搜索PB -2

本帖最后由 xxpinqz 于 2016-8-12 14:21 编辑
  1. @echo off
  2. for /f "delims=" %%a in ('dir /b /a-d *.csv 2^>nul') do call IMPORT.EXE "%%a"
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 2# xxpinqz


  可以运行了,但是生成list.txt的时候最后多了一个换行符,可以不生成这个换房符号吗?

TOP

回复 1# xuxnq
生成list.txt除了给import.exe调用还有什么用途么

TOP

回复 4# pcl_test


    没有了。

TOP

回复 3# xuxnq

改了不生成文件
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 6# xxpinqz


    好像不生成文件,但是里面还有一个换行符号,因为这个import.exe如果检测到还有一个空白行会报错。 可不可以再帮忙优化下,感谢

TOP

回复 7# xuxnq

如果是换行,那应该是每次执行都会影响吧,不会只最后一次?
如果确定只是换行符,这样试试看。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%i in ('copy/z %~s0 nul')do (
  3.     for /f "delims=" %%a in ('dir /b /a-d *.csv 2^>nul') do (
  4.         set "str=%%a"
  5.         call IMPORT.EXE "!str:%%i=!"
  6.     )
  7. )
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表