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

[文本处理] [已解决]批处理创建文本并输入命令?

我原本想写一个命令来处理一些app文件,但是app文件太多了一个个写太费劲而且容易出错,先用其中3个app文件作为示例说一下,例如文件夹里面有0000001d.app 0000006b.app 00000066.app文件(所有文件名都是000000**.app之类的,**为16进制),想用批处理在此文件夹创建一个run.txt文本并写入-i 0000006b.app:0:107 -i 0000001d.app:1:29 -i 00000066.app:2:102

说一下里面的:0:107   :1:29和:2:102,前面的数字0 1 2是位置序号 就像0 1 2 3 4 5……以此类推,107是0000006b的10进制,29是0000001d的10进制,102是00000066的10进制这样.
最后把makerom.exe -f cia -o DLC1.cia -major 0 -minor 0 -major 0 命令写入文本最前面.

回复 5# a574045075


    已修复
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

flashercs 发表于 2020-11-24 17:06



    这个可以了

TOP

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. cd /d "%~dp0"
  4. set out="run.txt"
  5. REM cmdline
  6. <nul >%out% set /p s=makerom.exe -f cia -o DLC1.cia -major 0 -minor 0 -major 0
  7. REM args: -i 0000006b.app:0:107
  8. set ctr=0
  9. (
  10.   for %%A in (000000??.app) do (
  11.     set /a hex=0x%%~nA
  12.     <nul set /p s=-i %%A:!ctr!:!hex!
  13.     set /a ctr+=1
  14.   )
  15. )>>%out%
  16. endlocal
  17. pause
  18. exit /b
复制代码
1

评分人数

微信:flashercs
QQ:49908356

TOP

ivor 发表于 2020-11-24 17:02



    不行 提示:
只允许将表达式作为管道的第一个元素。
所在位置 行:1 字符: 85

TOP

本帖最后由 ivor 于 2020-11-24 18:40 编辑
  1. #&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit
  2. $num=0;'makerom.exe -f cia -o DLC1.cia -major 0 -minor 0 -major 0' + ((dir *.app|%{' -i {0}:{1}:{2}' -f $_.Name,$num++,[System.Convert]::ToString('0x'+$_.BaseName,'10')}) -join ' ') | tee run.txt
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

WHY 发表于 2020-11-24 16:48



    没有生成run.txt

TOP

本帖最后由 WHY 于 2020-11-24 16:49 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set m=-1
  4. for /f "delims=" %%i in ('dir /b *.app | findstr /i "^000000[0-9a-f][0-9a-f]\.app$"') do (
  5.     set /a m+=1, n=0x%%~ni
  6.     set "s=!s! -i %%i:!m!:!n!"
  7. )
  8. echo;makerom.exe -f cia -o DLC1.cia -major 0 -minor 0 -major 0!s!>run.txt
复制代码

TOP

返回列表