【.cmd】 バッチファイルスクリプト %15 【.bat】 (771レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
149: デフォルトの名無しさん [sage] 2023/01/23(月) 18:40:02.27 ID:0BNLAxAb(2/9) AAS
ありがとうございます。調べてみます!
310: デフォルトの名無しさん [sage] 2023/06/09(金) 14:04:54.27 ID:du40Kh/C(1) AAS
マイナーってこと以外の注意点はないと思う。
しいて言えばコマンドプロンプト上だと
プロンプトの「C:\>」とくっついて見づらくなるくらい。
549: デフォルトの名無しさん [sage] 2024/06/17(月) 09:41:03.27 ID:4dsWgq6q(1) AAS
%20とか名前付けるか

Pathのマルチバイト問題は解決困難だなあ
600: デフォルトの名無しさん [sage] 2024/11/09(土) 13:21:59.27 ID:L+GgUCLJ(2/3) AAS
jscriptは>>581
581(4): デフォルトの名無しさん [sage] 2024/11/07(木) 12:14:54.61 ID:9xnRXsv4(1) AAS
>>580
batだけでやるには大変(=の置換は無理)
変換前に1文字ずつ判定して=だったら普通使われない文字(=とか)に変えるとかしないとできない
別の方法としては別の言語でサポートしてやれば楽
@if (0)==(0) echo off
rem *** このブロックにbat内容を記述する
set s=Hello World 12=34
cscript //nologo /e:jscript "%~f0" "%s%"
rem for /f "tokens=*" %%i in ('cscript //nologo /e:jscript "%~f0" "%s%"') do set s=%%i
rem echo %s%
goto :eof
rem ***
@end
//これ以降はjscriptの処理部
var data=WScript.Arguments(0).replace(/12=34/g,"4567");
WScript.StdOut.WriteLine(data);
のようにOS標準で入ってる古いjavascript
最近の構文は一部使えないがバッチよりも動作が高速で正規表現など文字列処理にも適している
他にpowershellもある
661: デフォルトの名無しさん [sage] 2025/02/16(日) 14:29:31.27 ID:51aCbtwK(4/4) AAS
なので現実的な方法としては
foo.exeで渡したい情報はファイルか標準出力で親プロセスに渡せばいいと思う
690: デフォルトの名無しさん [sage] 2025/03/08(土) 17:05:24.27 ID:oOL+XIfI(3/3) AAS
すまん連投した
1980/1/1 0:0:1以降はプロパティ表示
759: デフォルトの名無しさん [sage] 2025/06/17(火) 23:21:34.27 ID:v63kiG1M(1) AAS
>>757
757(2): >>724 [sage] 2025/06/17(火) 18:10:43.80 ID:+VkCgLWJ(1) AAS
だから >>715 で問題ないと言ってるだろ
いったい何を試行錯誤してんだ
確かに >>715
715(6): デフォルトの名無しさん [sage] 2025/05/26(月) 08:47:40.30 ID:iONSO6k9(1) AAS
>>714
それでもいいけど最近シンプルなのに書き換えたので参考にどうぞ

ドラッグアンドドロップ用バッチのサンプル
@echo off & set arg=& set a="%cmdcmdline:"=" "%"
set a=%a:""=%& call :x %%a:*%~x0" =%%
echo コマンド %arg%
pause & exit
:x
set a=%1& if not defined a exit /b
if "%a:~1,1%"==" " set a=%a: =" "%
set arg=%arg% %a:""=%& shift & goto x
は UNCパスやドライブ文字が違うファイル
にも対応できてる すごいバッチだと思います
>>718
718(4): 714 [] 2025/06/09(月) 23:42:00.02 ID:XIEmLRR3(1) AAS
>>556,715
2つを参考にして作ってみました

ドラッグ アンド ドロップ用
@echo off & set a="%cmdcmdline:"=%"
for /f "tokens=3* delims=:" %%i in (%a%) do (set a=%%i& set b=%%j)
set "a=%a:~-1%"
call :x "%a%:%%b: %a%:=" "%a%:%%"
:x
echo コマンド %*
pause & exit
は行数は少ないけどドライブ文字を流用してるから手抜きではありますね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s