【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
1-

452: 2023/10/10(火)11:26 ID:cUy975D5(1) AAS
>>451
糞過ぎる
453: 2023/10/10(火)11:37 ID:l0kLdmnh(1) AAS
JScriptというかWindowsScriptHostは生き残るのか?
454: 2023/10/10(火)18:15 ID:dUGfQnTA(1) AAS
なんで5chこんなに重いん?この重いのいつまで続くん?
455: 2023/10/11(水)07:20 ID:x54NWWVS(1) AAS
>>451
EdgeのIEモードが2029までだからそれまでは使えるという予想があったけど
機能の有効化で使えるならどうでもいいわ
456: 2023/10/11(水)08:26 ID:mMAmsq6k(1) AAS
ネットは心の鏡
お前の心が重いのだ
457
(1): 2023/10/11(水)13:00 ID:yI6tEEU8(1) AAS
textファイル1に
a
b
c
d
が入ってて
textファイル2に
1
2
3
4
が入ってて

連結して
a1
b2
c3
d4
にしたいけど
dosコマンドだけでは無理?
458: 2023/10/12(木)15:02 ID:DS7FO2PL(1) AAS
>>457
無理ではないがコマンドプロンプト開いて1行のコマンドで書くのはとても面倒だからバッチファイル書いたほうがいい
459
(1): 2023/10/12(木)21:58 ID:ZXm8+EHB(1) AAS
powershell -c "gc textファイル1, textファイル2 | group readcount | foreach{$_.group -join ''}"
a1
b2
c3
d4
460: 2023/10/13(金)11:28 ID:eHigHg14(1) AAS
>>459
'-join' 演算子に続けて値の式を指定する必要があります。

って警告が出ます
461: 2023/10/13(金)17:19 ID:5yGgcXlN(1) AAS
「''」と「"」を見間違えてるのでは
462: 2023/10/29(日)22:58 ID:4fxrkRUI(1) AAS
環境変数を;区切りで改行して出力したくて
for /F "delims=;" %i in ("%PATH%") do echo %i
としたのですが最初の一つしか出力されません
何がダメなんでしょうか...
463: 2023/10/30(月)00:54 ID:S4fhwBsv(1) AAS
ダブルクォーテーションで囲まれた"%PATH%"が1つの引数としてForに渡されて1つ目の区切り文字に達するまでを出力してるからそうなる

1つずつ取り出したいならダブルクォーテーションを消せば良いがそれだと半角スペースも区切り文字に判定されるから
簡単にやろうと思ったらまず半角スペースを別の文字に置換してからダブルクォーテーション無しで渡してその後半角スペースを元に戻すとかかな
464: 2023/10/30(月)01:46 ID:dhg2pdyL(1/4) AAS
"%PATH%"が一行なのでforループも1回しか繰り返さないってだけ
465: 2023/10/30(月)02:13 ID:dhg2pdyL(2/4) AAS
delimsの区切り記号指定は、
for /F "tokens=1-3 delims=;" %i in ("%PATH%") do echo %i,%j,%k
とか1行の中で複数項目に分ける場合に使う
区切り記号でループさせることは不可能
466: 2023/10/30(月)03:27 ID:dhg2pdyL(3/4) AAS
興が乗ったので作ってみた
@echo off
SETLOCAL EnableDelayedExpansion
SET LF=^

SET splitted_path=%PATH:;=!LF!%
for /f "tokens=*" %%i in ("!splitted_path!") do echo,%%i
467: 2023/10/30(月)06:58 ID:EuHHvGeq(1) AAS
バッチと関係ないけどpath変数のフォルダ名に
;文字が入ってたらwindowsの動作はどうなるんだろう
"で囲めばいいだけなのかな
468: 2023/10/30(月)13:19 ID:dhg2pdyL(4/4) AAS
for文も不要だった
@echo off
setlocal EnableDelayedExpansion
for /f "delims=N" %%i in ('cmd /u /c echo 不') do set CR=%%i
set LF=^

SET splitted_path=%PATH:;=!CR!!LF!%
echo,!splitted_path!
469: 2023/10/30(月)23:23 ID:oqTBGQIx(1) AAS
皆さんありがとうございます参考になりました。
気軽に使いたかったのでこんな感じで雑に実現しました
@echo off
for %%i in ("%PATH:;=";"%") do echo %%i
pause

毎回環境変数ウィンドウ開くの面倒だからcliで見やすく確認できないかなーと気軽に始めたのですがbatスクリプト難しいですね
遅延展開とか初めて聞きましたw
470: 2023/10/31(火)06:54 ID:9EMrUdB9(1) AAS
遅延にしたら!が変わる
!があると^も変わる
471: 2023/10/31(火)07:18 ID:1/1CCAX6(1) AAS
バッチは不毛すぎる
使うのは最小限に留めろ
472: 2023/10/31(火)07:44 ID:/7M4GG46(1) AAS
頑張りすぎると無毛になる
473: 2023/10/31(火)08:59 ID:5Lja4y81(1) AAS
おかえり
474: 2023/11/01(水)10:36 ID:QIr7Aj5s(1) AAS
バッチファイルは縛りプレイが好きな人にしか向かないよ
475: 2023/11/12(日)10:36 ID:8jJHTm3/(1) AAS
batファイルの処理が終わったらスマホに何らかの通知を送りたいんですが何かいい方法は無いですか?
476
(1): 2023/11/12(日)13:00 ID:9doZQWI1(1) AAS
SMS送信するWebAPI実行
477
(1): 2023/11/12(日)18:58 ID:aZ7/2ZLa(1) AAS
NET SEND
478: 2023/11/19(日)15:27 ID:tEMsHOKq(1) AAS
>>476
>>477
どちらも難しそうだったのでPowerShellでGmailを送るやり方にしました
479
(2): 2023/12/11(月)17:33 ID:DuarkpA3(1) AAS
習作でlog1.txtに格納されている文字列を1行ずつlog2.txtの中に存在しているかチェックしたいのですが、

@echo off
for /f %%a in (log1.txt) do (
set line=%%a
find "%%a" log2.txt
if %errorlevel% == "0" (
echo OK >> kekka.txt
) else (
echo NG >> kekka.txt
)
)

findで返ってくる値が0に固定されてしまい、
判定を上手く行うことが出来ずにいます
稚拙な質問でお恥ずかしいのですがどのように修正すれば良いでしょうか
480: 2023/12/11(月)21:12 ID:WKo0W+M9(1) AAS
>>479
お前がなぜレスを貰えないのかchatgptに聞いてこい
481
(1): 2023/12/11(月)21:23 ID:ZQU2Csd1(1) AAS
>>479
いちばん手っ取り早いのはsetlocal enabledelayedexpansionを使うこと

@echo off
setlocal enabledelayedexpansion
for /f %%a in (log1.txt) do (
find "%%a" log2.txt >nul 2>nul
if "!errorlevel!" == "0" (echo OK) else (echo NG)
)
endlocal

遅延展開で調べてみて
ただforにdelimsとかtokensの指定ないけどそれは問題ない?
1-
あと 338 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.021s