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

[文本处理] 批处理直接运行和拖拽运行有何区别?

[复制链接]
发表于 2012-5-8 17:11:08 | 显示全部楼层 |阅读模式
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo Generate html Download page from txt (for e2dk)
  4. set Inputfile=%1
  5. set Outputfile=%~n1%.html
  6. if exist %Outputfile% (
  7. del %Outputfile%
  8. )
  9. echo ^<html^> >%Outputfile%
  10. echo ^<body^> >>%Outputfile%
  11. echo ^<head^> >>%Outputfile%
  12. echo ^<title^> >>%Outputfile%
  13. echo Generated from %Inputfile%>>%Outputfile%
  14. echo ^</title^> >>%Outputfile%
  15. for /f "delims=" %%i in ('findstr "ed2k" %Inputfile%')do (
  16. echo ^<p^> >> %Outputfile%
  17. echo ^<a href ^= ^">>%Outputfile%
  18. echo %%i>> %Outputfile%
  19. echo ^"^>>> %Outputfile%
  20. echo %%i >> %Outputfile%
  21. echo ^</a^> >> %Outputfile%
  22. echo ^<br/^> >> %Outputfile%
  23. echo ^</p^> >> %Outputfile%
  24. )
  25. echo ^</body^> >>%Outputfile%
  26. echo ^</html^> >>%Outputfile%
  27. pause
复制代码
这段代码就是为了将txt里的e2dk地址抽取出来输出成html的超链以方便下载软件一键下载。
但是遇到一个奇怪的问题,望各位大大解答
1.该批处理如果 在命令行下运行,输出的html文件在当前目录。但是如果是采用拖拽将txt文件拖到bat上运行,所输出的html 就变至
C:\Documents and Settings\user\下了
请问这是为什么?两种执行方式有什么不同?另 和直接双击执行又有什么不同?
2.请问如何规避/解决这个问题
发表于 2012-5-8 17:28:51 | 显示全部楼层
本帖最后由 neorobin 于 2012-5-8 17:30 编辑

回复 1# zhucecainiao
试一下在代码前部加入一行:
  1. cd /d "%~dp0"
复制代码
可以将输出文件放至 批处理 文件所在目录

试一下在代码前部加入一行:
  1. cd /d "%~dp1"
复制代码
将输出文件和输入文件放在同一目录
 楼主| 发表于 2012-5-8 19:09:13 | 显示全部楼层
回复 2# neorobin
感謝你的回复,可以解決這個問題
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 02:21 , Processed in 0.016450 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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