中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 00:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 问题求助:如何实现下面的功能[已经解决] 查看 831 回复 10
楼 主 问题求助:如何实现下面的功能[已经解决] 发表于 2007-06-15 16:07 ·  中国 福建 福州 电信
初级用户
积分 30
发帖 11
注册 2007-06-15 11:12
19年会员
UID 91397
性别 男
状态 离线
自己做了一个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 ]
2 发表于 2007-06-15 16:17 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
@echo off
Exe -input "%1" -output "%1".txt

这样呢?
3 发表于 2007-06-15 17:52 ·  中国 福建 福州 电信
初级用户
积分 30
发帖 11
注册 2007-06-15 11:12
19年会员
UID 91397
性别 男
状态 离线
命令行下执行bat是可以的。可是把文件扔到bat头上就是不行。
搞不懂,想把文件扔到bat头上后把那个参数抓出来,分析一下,不知道怎么分析。
4 发表于 2007-06-15 18:08 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
楼主是说,要把拖到P上的文件名显示出来?


@echo off
echo %1

这样?具体不知道楼主的Exe工具功能
5 发表于 2007-06-15 18:36 ·  中国 广东 广州 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
for语句有误


for %%I in (%1) do Midp2Exe -jar %%~nxI -out %%~nxI.exe
正在潜水修练的批处理小白
6 发表于 2007-06-15 22:58 ·  中国 辽宁 鞍山 中移铁通
初级用户
积分 30
发帖 11
注册 2007-06-15 11:12
19年会员
UID 91397
性别 男
状态 离线
还是没有搞出来。。呜呜。或许在xp里面把文件往bat头上一扔,识别的东西有问题吧,反正也搞不懂什么问题。

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

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

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

版主,你扣我积分吧,然后帮我取个贴切的名字。
7 发表于 2007-06-15 23:10 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
正确的说法应该是“拖动”文件到批处理上。

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

楼主想要似乎是一个文件转换功能,对不?
8 发表于 2007-06-15 23:36 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
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 ]
9 发表于 2007-06-16 17:18 ·  中国 广东 深圳 福田区 电信
初级用户
积分 30
发帖 11
注册 2007-06-15 11:12
19年会员
UID 91397
性别 男
状态 离线
感谢错了,是楼上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 ]
10 发表于 2007-06-16 17:26 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
你开头没加“@echo off”当然会显示两次,第一次是执行命令,第二次才是显示,加上“@echo off”后就不会显示执行命令了
11 发表于 2007-06-16 17:33 ·  中国 广东 深圳 福田区 电信
初级用户
积分 30
发帖 11
注册 2007-06-15 11:12
19年会员
UID 91397
性别 男
状态 离线
谢谢楼上的.
呵呵,原来是这样,我还以为是系统问题呢.
感谢!
论坛跳转: