Board logo

标题: [文本处理] [已解决]批处理创建文本并输入命令? [打印本页]

作者: a574045075    时间: 2020-11-24 16:11     标题: [已解决]批处理创建文本并输入命令?

我原本想写一个命令来处理一些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 命令写入文本最前面.
作者: WHY    时间: 2020-11-24 16:48

本帖最后由 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
复制代码

作者: a574045075    时间: 2020-11-24 16:57

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



    没有生成run.txt
作者: ivor    时间: 2020-11-24 17:02

本帖最后由 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
复制代码

作者: a574045075    时间: 2020-11-24 17:06

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



    不行 提示:
只允许将表达式作为管道的第一个元素。
所在位置 行:1 字符: 85
作者: flashercs    时间: 2020-11-24 17:06

  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
复制代码

作者: a574045075    时间: 2020-11-24 17:11

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



    这个可以了
作者: ivor    时间: 2020-11-24 18:41

回复 5# a574045075


    已修复




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2