Board logo

标题: [文本处理] [已解决]批处理如何对文本的最后一行进行特殊编辑? [打印本页]

作者: anshi009009    时间: 2011-10-13 01:25     标题: [已解决]批处理如何对文本的最后一行进行特殊编辑?

本帖最后由 anshi009009 于 2011-10-13 10:26 编辑

================================================
我想做这样一个bat:把几个文件拖到批处理图标上之后,可以生成以下这个txt文本:
================================================
目标文本:

文件1的路径    +\
文件2的路径    +\
……
文件n的路径(最后一行没有 “+\”)
(n未知)
================================================
我现在的是这么写的:
  1. echo off
  2. del "d:\path.txt"
  3. :start
  4. echo %~f1   +\ >>"d:\path.txt"
  5. shift
  6. if not "%~1"=="" goto start
  7. pause
复制代码
================================================
运行结果(举例子):
D:\MiniTools\HA_GoldWave558_HZ\lame_enc.dll   +\
D:\MiniTools\HA_GoldWave558_HZ\GoldWave.exe   +\
D:\MiniTools\HA_GoldWave558_HZ\GWPreset.reg   +\
D:\MiniTools\HA_GoldWave558_HZ\GWSpeed.dll   +\ (但是我希望最后一行没有这个“+\”)
================================================
我希望的结果是:
D:\MiniTools\HA_GoldWave558_HZ\lame_enc.dll   +\
D:\MiniTools\HA_GoldWave558_HZ\GoldWave.exe   +\
D:\MiniTools\HA_GoldWave558_HZ\GWPreset.reg   +\
D:\MiniTools\HA_GoldWave558_HZ\GWSpeed.dll  
================================================
作者: 601997526    时间: 2011-10-13 09:30

  1. @echo off
  2. :ok
  3. if not "%~2"=="" (echo %~1   +\&shift&goto :ok) else echo %~1
  4. pause
复制代码

作者: anshi009009    时间: 2011-10-13 10:21

回复 2# 601997526


   太厉害了,简单精炼! 感激的我痛哭流涕...

最后问个问题哈,如何获取当前运行的bat的路径?
作者: 601997526    时间: 2011-10-13 10:29

回复 3# anshi009009


    echo %~dp0
详细查看 for /?
作者: anshi009009    时间: 2011-10-13 10:32

我刚去看了,找到答案了之后回来却发现:

4楼  发表于 6 秒前 | 只看该作者  

嘿嘿,坚决不做伸手党
作者: anshi009009    时间: 2011-10-13 10:32

多谢601997526 ,解决了我的大难题
作者: 601997526    时间: 2011-10-13 10:40

多谢601997526 ,解决了我的大难题
anshi009009 发表于 2011-10-13 10:32



    真要谢的话就给我加点技术分吧,用分去换两书来看看也好^_^穷买不起




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2