せっかくだしvscript版もどこかに貼ってもらえるとありがたいな。 0416デフォルトの名無しさん2018/03/17(土) 18:29:59.15ID:71uTBaAx>>412 >>1にそれらしいことは書いてあるから、ダメってことはないだろう ただ、「Jscript・Perl等の埋め込み」って何だろう バッチファイルに他言語のコードを埋め込めるのか? 0417デフォルトの名無しさん2018/03/17(土) 18:38:49.28ID:RY7g5/8I 「バッチ JScript」とかでググればいいんじゃないか 0418デフォルトの名無しさん2018/03/17(土) 19:54:28.64ID:HNxDhnRb>>413 ありがとうございますとても参考になりました 0419デフォルトの名無しさん2018/03/17(土) 21:16:57.69ID:Eknm4yJC @echo off set n0=0 set n1=0 set n2=0 set file="xxx.txt" set newfile="new.txt" set word=xxx type nul>new.txt for /f "tokens=1* delims=:" %%i in ('findstr /n "." %file%') do set n0=%%i for /f "tokens=1* delims=:" %%i in ('findstr /n /c:"%word%" %file%') do set n1=%%i for /f "tokens=1* delims=:" %%i in ('findstr /n /c:"-- %word%" %file%') do set n2=%%i
if %n0% equ %n1% if %n1% neq %n2% goto :eof if %n0% equ %n2% (call :del-line %n2%) else (copy /y %file% %newfile%>nul) call :add-line move /y %newfile% %file%>nul goto :eof
:del-line for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" %file%') do if %%i neq %1 echo;%%j>>%newfile% goto :eof
<コマンドA> set NICHIJI=powershell -command "date -f yyyyMMddHHmmss" 0442デフォルトの名無しさん2018/03/20(火) 23:06:27.49ID:BuzmWDFp>>440 >>437のことじゃなかったのか 0443デフォルトの名無しさん2018/03/20(火) 23:18:51.64ID:aHaiWzOW>>441 for /f "delims=" %%G in (‘powershell -command “date …”’) do set “NICHIJI=%%G" 0444デフォルトの名無しさん2018/03/20(火) 23:52:48.01ID:BuzmWDFp>>441 外部プログラムの標準出力を取り込むのが目的ではなくて、単に現在日時をセットするだけならバッチのみで済むけど set NICHIJI=%date:/=%%time::=% set NICHIJI=%NICHIJI:~0,-3% 0445デフォルトの名無しさん2018/03/21(水) 01:09:02.52ID:UBrEBSgZ>>442 すみません、分かりにくい文でした >>437を改造しようとしたが改行がネックだと言う話
どのようにしたらいいでしょうか 0481デフォルトの名無しさん2018/04/21(土) 18:30:43.44ID:9o1T2SLn>>480 <tab>はTABコードだと判断したが、もし単なる文字列ならその部分は修正してくれ @echo off setlocal EnableDelayedExpansion type nul>out.txt for /f "delims=N" %%I in ('cmd /u /c echo 三') do set TAB=%%I set n=0 for /f "tokens=* delims=" %%i in (in.txt) do ( set d!n!=%%i set /a n+=1 if !n! geq 3 set n=0&echo.!d0!%TAB%!d2!>>out.txt ) endlocal 0482デフォルトの名無しさん2018/04/21(土) 20:19:07.52ID:kVqs7sc1 下手にバッチでやるよりエディタ等で \ncount\nをtabに一発置換するだけのような 0483デフォルトの名無しさん2018/04/21(土) 20:38:40.63ID:6+H6buOa >'cmd /u /c echo 三' ナニコレ 0484デフォルトの名無しさん2018/04/21(土) 21:33:42.67ID:x8Crqpim>>481 これでできました でも難しくて意味が分からないけど
中身が何かっての全く確認しないから変な行あったら以後盛大に誤爆する 0487デフォルトの名無しさん2018/04/22(日) 06:56:22.77ID:Lev+VBnm @echo off type nul>out.txt setlocal enabledelayedexpansion set n=0 for /f "delims=" %%i in (in.txt) do ( set "d!n!=%%i" & set /a "n=(n+1)%%3" if !n! equ 2 if not "%%i"=="count" echo.!d0!>>out.txt&set n=1& set "d0=%%i" if !n! equ 0 echo.!d0! !d2!>>out.txt )
gawkはlinuxのようですね。windowsで実現する方法を求めていました。 バッチファイルでは出来そうにないのでWSH JScriptあたりを探してみたりしていました。 他手段を探してみたいと思います。ありがとうございました。 0509デフォルトの名無しさん2018/05/02(水) 03:07:32.00ID:KFhIKBMV batでも出来るんだけど、実用な時間で出来るかと言われると何ともねえ @echo off setlocal set hex=0123456789ABCDEF set in=1234567890 set out= set bin= :loop call :div2 in s set bin=%s%%bin% if defined in goto :loop :loop2 set h=000%bin:~-4% set /a h=("%h:~-4,1%<<3")+("%h:~-3,1%<<2")+("%h:~-2,1%<<1")+%h:~-1% set bin=%bin:~0,-4% call set out=%%hex:~%h%,1%%%out% if defined bin goto :loop2 echo.0x%out% endlocal goto :eof :div2 set dst= set s=0 :divloop set d=%in:~0,1% set in=%in:~1% set /a s=s*10+d set /a h="s>>1" set /a s%%=2 if defined dst (set dst=%dst%%h%) else if %h% gtr 0 set dst=%dst%%h% if not defined in set in=%dst%&goto :eof goto :divloop