中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 问题求助:如何实现下面的功能[已经解决]
作者:
标题: 问题求助:如何实现下面的功能[已经解决] 上一主题 | 下一主题
abshuhuhuhu
初级用户





积分 30
发帖 11
注册 2007-6-15
状态 离线
『楼 主』:  问题求助:如何实现下面的功能[已经解决]

自己做了一个a.bat
@echo off
set t=%1
Exe -input %t% -output %t%.txt
现在想做到就是在xp里,把文件往a.bat头上一扔(已经在资源管理器里和a.bat同一目录)就可以自动执行,好像不行,不知道为什么。
不是在xp里面把东西扔到bat头上,就自己认成%1的参数吗?
有个人回答说是因为往bat头上砸,会认成完整路径加文件名,又改成如下内容,(只有这一行)
for %%~nxI in (%1) do Midp2Exe -jar %I% -out %I%.exe
还是不行。
帮我改改吧!!

─────────────────── 版务记录 ────────────────────
执行:lxmxn
标题:问题求助:如何实现下面的功能
说明:因标题表述过于模糊,不便于论坛的搜索和管理,请在三日内修改标题,否则扣除2点积分
参考:http://www.cn-dos.net/forum/viewthread.php?tid=7326&fpage=1
   http://community.csdn.net/IndexPage/SmartQuestion.aspx
─────────────────── 版务记录 ────────────────────

特别感谢8楼的!!!
同时感谢所有帮助我的.

[ Last edited by abshuhuhuhu on 2007-6-16 at 05:32 PM ]

2007-6-15 16:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 2 楼』:  

@echo off
Exe -input "%1" -output "%1".txt

这样呢?

2007-6-15 16:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abshuhuhuhu
初级用户





积分 30
发帖 11
注册 2007-6-15
状态 离线
『第 3 楼』:  

命令行下执行bat是可以的。可是把文件扔到bat头上就是不行。
搞不懂,想把文件扔到bat头上后把那个参数抓出来,分析一下,不知道怎么分析。

2007-6-15 17:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 4 楼』:  

楼主是说,要把拖到P上的文件名显示出来?


@echo off
echo %1

这样?具体不知道楼主的Exe工具功能

2007-6-15 18:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dikex
高级用户

潜水修练批处理



积分 788
发帖 366
注册 2006-12-31
状态 离线
『第 5 楼』:  

for语句有误


for %%I in (%1) do Midp2Exe -jar %%~nxI -out %%~nxI.exe



正在潜水修练的批处理小白
2007-6-15 18:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abshuhuhuhu
初级用户





积分 30
发帖 11
注册 2007-6-15
状态 离线
『第 6 楼』:  

还是没有搞出来。。呜呜。或许在xp里面把文件往bat头上一扔,识别的东西有问题吧,反正也搞不懂什么问题。

把4楼的方法加了个>1.txt想看看参数是什么,结果也没有生成1.txt。

注意我的做法不是在命令行执行a.bat a.jar

是用鼠标选取jar文件放到bat头上。

版主,你扣我积分吧,然后帮我取个贴切的名字。

2007-6-15 22:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 7 楼』:  

正确的说法应该是“拖动”文件到批处理上。

不知道楼主为何测试通不过的,偶这测试是没问题的。

楼主想要似乎是一个文件转换功能,对不?

2007-6-15 23:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 8 楼』:  

Midp2Exe是一个将手机java游戏程序转为模拟机在电脑上运行的程序

试了一下,知道是怎么回事了
拖入文件的bat会默认在%USERPROFILE%的目录运行,加入echo %cd%看看就知道了;当然,%USERPROFILE%目录里面没有Midp2Exe.exe,也就无法执行转换命令
改为:
"绝对路径\Midp2Exe.exe" -jar "%~dpnx1" -out "%~dpn1.exe"
或者bat和Midp2Exe.exe在同一目录:
"%~dp0Midp2Exe.exe" -jar "%~dpnx1" -out "%~dpn1.exe"
[ Last edited by zh159 on 2007-6-16 at 09:58 AM ]



2007-6-15 23:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abshuhuhuhu
初级用户





积分 30
发帖 11
注册 2007-6-15
状态 离线
『第 9 楼』:  

感谢错了,是楼上8楼的才对.呵呵.
楼主说的也对也不对,midp2exe是不需要默认目录的.
1)下载到的midp2exe有个   
打包.bat
--
Midp2Exe -jar 沙罗曼蛇EX.jar -out 沙罗曼蛇EX.exe
--
说明里面是要我们去改这个啦.呵呵.我懒得改,所以想求个方便点的办法.
.
感谢8楼,问题解决了.


后来测试了一下这个bat:
--
@echo %1
pause
--
发现似乎是xp对dos的支持问题.
结果:
--

C:\Documents and Settings\Administrator>echo E:\midp2exe\沙罗曼蛇EX.jar
E:\midp2exe\沙罗曼蛇EX.jar

C:\Documents and Settings\Administrator>pause
请按任意键继续. . .
--
可以看到xp显示了两次%1的结果
希望强人来分析分析,
这个是不是就是xp对中文字符的支持不好的问题?

[ Last edited by abshuhuhuhu on 2007-6-16 at 05:35 PM ]

2007-6-16 17:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 10 楼』:  

你开头没加“@echo off”当然会显示两次,第一次是执行命令,第二次才是显示,加上“@echo off”后就不会显示执行命令了



2007-6-16 17:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abshuhuhuhu
初级用户





积分 30
发帖 11
注册 2007-6-15
状态 离线
『第 11 楼』:  

谢谢楼上的.
呵呵,原来是这样,我还以为是系统问题呢.
感谢!

2007-6-16 17:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: