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

[其他] [已解决]批处理call命令很懵的错误:命令行不正确

本帖最后由 浅暮丶千殇 于 2024-11-7 02:52 编辑
  1. @echo off
  2. SETLOCAL ENABLEDELAYEDEXPANSION
  3. set "file=C:\Users\Administrator\Desktop\cheatengine-x86_64.po"
  4. set "file1=D:\Program Files\Cheat Engine\languages\zh_CN\cheatengine-x86_64.po"
  5. set count=0
  6. set str=
  7. for /F "tokens=1* delims=:" %%a in ('findstr /N /C:"#:" "%file1%"') do (
  8.     Call :GetfileStr "%%b" "%file%"
  9.     pause
  10. )
  11. pause
  12. Exit
  13. :GetfileStr
  14. echo.1
  15. pause
  16. for /F "tokens=1* delims=:" %%a in ('findstr /N /C:"%~1" "%~2"') do (
  17.     set count=%%a
  18.     Call :GetMsgstr "!count!"
  19. )
  20. Goto :Eof
  21. :GetMsgstr
  22. for /F "tokens=1* skip=%count% delims= " %%a in (%file%) do (
  23.     if "%%a" equ "msgctxt" Set /A count+=2
  24.     if "%%a" equ "msgid" (if "%%b" equ """" Goto :Eof) && Set /A count+=1
  25.     if "%%a" equ "msgstr" (
  26.         if "%%b" equ """" Goto :Eof
  27.         echo.%%b
  28.         set "str=%%b"
  29. REM Call :GetfileStr "%%b" "%file%" 这个语句放在这里会报错: 命令行不正确, 但是放在其他地方则是正常的, 真的很懵
  30.         Call :GetfileStr "%%b" "%file%"
  31.         Goto :Eof
  32.     )
  33.     Goto :GetMsgstr
  34. )
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 1# 浅暮丶千殇

在37行上面加一行
  1. echo,"%%b"&pause
复制代码
看看调用 Call :GetfileStr "%%b" "%file%" 之前 %%b 的取值?

TOP

  1. Call :GetfileStr "%%~b" "%file%"
复制代码
试试
1

评分人数

微信:flashercs
QQ:49908356

TOP

回复 2# aloha20200628 谢谢,我找到问题了,参数传错了

TOP

回复 3# flashercs 谢谢,是参数传错了

TOP

返回列表