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

[问题求助] VB调用批处理怎样在当前路径路径顺利执行?

不管怎样请大家耐心的看看帮帮我,我弄了好久了就是搞不定!大家可以看出我在vb里调用了一个叫做a.bat的批处理文件,问题来了:a.bat里面有一句代码是:
  1. adb push fonts\my.ttf /system/fonts/DroidSansFallback.ttf >> E:\a\1.txt
复制代码
我是想让他执行当前路径下的fonts\ttf但是它实际执行的是在vb中CommonDialog1.ShowOpen命令所获得路径下的fonts\ttf  所以总提示找不到文件,怎么样才能修改啊!让批处理俺当前目录路径顺利执行下去!
这是vb代码:
  1. Private Sub Command2_Click()
  2. Dim c As String
  3. c = App.Path & "\a.bat"
  4. MsgBox c
  5. Set fso = CreateObject("Scripting.FileSystemObject")
  6. CommonDialog1.Filter = "ALL File(*.*)|*.*"
  7. CommonDialog1.ShowOpen
  8. If CommonDialog1.FileName = "" Then
  9. MsgBox "没有选定文件", 38, "出错提示"
  10. Else
  11. a = CommonDialog1.FileName
  12. b = App.Path & "\fonts\my.ttf"
  13. MsgBox a
  14. MsgBox b
  15. fso.Copyfile a, b
  16. End If
  17. If Dir(App.Path & "\fonts\my.ttf", vbDirectory) <> "" Then
  18. If MsgBox("确认替换?", vbYesNo) = vbYes Then
  19. Shell (c)
  20. End If
  21. Else
  22. MsgBox "未发现可用字体,请重新选择"
  23. End If
  24. End Sub
复制代码
这是批处理代码:
  1. @echo off
  2. echo 正在准备(若长时间未响应,请检查你的usb连接)...... > E:\a\1.txt
  3. adb wait-for-device >> E:\a\1.txt
  4. echo 连接设备成功 >> E:\a\1.txt
  5. adb remount >> E:\a\1.txt
  6. echo 重新挂载系统文件成功!>> E:\a\1.txt
  7. echo 请等待正在替换...... >> E:\a\1.txt
  8. adb push fonts\my.ttf /system/fonts/DroidSansFallback.ttf >> E:\a\1.txt
  9. echo 替换成功!
  10. adb shell chmod 777 -R /system/fonts/DroidSansFallback.ttf >> E:\a\1.txt
  11. echo 权限修改成功!>> E:\a\1.txt
  12. echo 权限修改成功!
  13. echo 是否重启,建议重启!(y/n)?
  14. set /p a=
  15. if %a%==y goto A
  16. if %a%==n goto b
  17. :A
  18. echo 正在重启!
  19. adb reboot
  20. del b\fonts\*.ttf
  21. echo 重启成功
  22. pause
  23. exit
  24. :B
  25. del b\fonts\*.ttf
  26. exit
  27. pause
复制代码

本帖最后由 zm900612 于 2011-7-6 22:40 编辑

该贴标题修改后基本达标,故删除本楼原警告贴

TOP

用绝对路径:
  1. adb push %~dp0fonts\my.ttf /system/fonts/DroidSansFallback.ttf >> E:\a\1.txt
复制代码
或者打开 a.bat 时指定路径
  1. c = "cmd /c ""start """" /d " & App.Path & " a.bat"""
复制代码

TOP

楼主能否把VB代码中的a,b,c的值贴出来看看。我看看路径有什么问题
---学无止境---

TOP

返回列表