【.cmd】 バッチファイルスクリプト %15 【.bat】 (794レス)
【.cmd】 バッチファイルスクリプト %15 【.bat】 http://mevius.5ch.net/test/read.cgi/tech/1663153441/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
128: デフォルトの名無しさん [sage] 2023/01/03(火) 15:27:36.49 ID:VP4Ca8Qj 勝手な想像だけどgoto関数かラベルの次の行がカッコになってるパターンだと思う goto :AAA ) とか :AAA ) バッチファイルは実行時に1行になって解釈されるからこういう書き方だと例えば else (goto :AAA) となって閉じ括弧までがラベルの一部と解釈される 簡単な回避策としては括弧の前の行にremを挿入する http://mevius.5ch.net/test/read.cgi/tech/1663153441/128
171: デフォルトの名無しさん [sage] 2023/02/15(水) 21:53:53.82 ID:2801FI6C dir あいう!えお.txt → 確認OK for %%i in ( dir ”*.txt” ) do ( echo ”%%~nxi” →❶ dir ”%%~nxi” →➋ ) ❶→あいうえお.txt ➋→ファイル無し この問題(for文の内部で半角!文字が含まれたファイル名で、!が消えた名前に変わってしまう)の回避方法をご教示いただければ幸いです。 (「あいう!えお.txt」のファイル有りきで…) http://mevius.5ch.net/test/read.cgi/tech/1663153441/171
329: デフォルトの名無しさん [sage] 2023/06/13(火) 11:28:39.90 ID:v41Gwse2 >>328 こんな感じでいいのでは? :loop set fname=%~1 shift if not defined fname goto :eof if "%fname:~0,2%" equ "ac" "c:\cov.exe" ~ if "%fname:~0,2%" equ "au" "c:\auro.exe" ~ timeout 1 goto :loop 又は if "%fname:ac=%" neq "%fname%" "c:\cov.exe" ~ http://mevius.5ch.net/test/read.cgi/tech/1663153441/329
556: デフォルトの名無しさん [sage] 2024/06/20(木) 06:56:43.32 ID:oAthcLJ7 私が普段使っているドラッグアンドドロップ用バッチのサンプルです @echo off & set a="%cmdcmdline:"=%"& set "arg=" for /f "tokens=3* delims=:" %%i in (%a%) do (set a=%%i& set b=%%j) set "a=%a:~-1%" & set b="%b::=" "%" for %%i in (%b%) do set b=%%i& call :x goto y :x if defined arg set arg=%arg:~0,-3%" set arg=%arg% "%a%:%b:~1%& exit /b :y echo コマンド %arg% pause & exit http://mevius.5ch.net/test/read.cgi/tech/1663153441/556
581: デフォルトの名無しさん [sage] 2024/11/07(木) 12:14:54.61 ID:9xnRXsv4 >>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); http://mevius.5ch.net/test/read.cgi/tech/1663153441/581
627: デフォルトの名無しさん [] 2024/11/14(木) 11:47:50.65 ID:oC8TllJp @echo off set T=%tmp%\tmp.txt type nul>%T% for %%f in (%*) do ( >>%tmp%\tmp.txt echo %%~nxf ) type %T% | clip これだと正常に取得できません 正常にファイル名を取得できるようにするにはどう書けばいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1663153441/627
692: デフォルトの名無しさん [sage] 2025/04/19(土) 00:45:06.61 ID:pkdgLcU5 set str=aaa "dd d" echo echo1 %str% echo echo2 "%str%" call :callecho "%str%" pause goto :EOF :callecho echo echo3 %1 echo echo4 %~1 echo echo5 %2 echo echo6 %~2 exit /b 二重引用符括ったものを入れ子の構造と認識していない様子 "%str%"で一つの引数とするためには、どのようにエスケープすればいい? http://mevius.5ch.net/test/read.cgi/tech/1663153441/692
714: デフォルトの名無しさん [] 2025/05/26(月) 00:46:53.22 ID:sddMzjz1 >>556 かなり前の書き込みなので もう見ていないかもしれないけど 使わせてもらいました ありがとうございます 初心者なので理解するのに時間がかかってしまいましたが これで欠点が一つ克服できました http://mevius.5ch.net/test/read.cgi/tech/1663153441/714
715: デフォルトの名無しさん [sage] 2025/05/26(月) 08:47:40.30 ID:iONSO6k9 >>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 http://mevius.5ch.net/test/read.cgi/tech/1663153441/715
718: 714 [] 2025/06/09(月) 23:42:00.02 ID:XIEmLRR3 >>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 http://mevius.5ch.net/test/read.cgi/tech/1663153441/718
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.041s