【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
【.cmd】 バッチファイルスクリプト %15 【.bat】 http://mevius.5ch.net/test/read.cgi/tech/1663153441/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
232: デフォルトの名無しさん [sage] 2023/03/10(金) 21:03:30.78 ID:c3BQ1P8m もちろん forループの特性上、空白行はスキップされたりいろいろするので finsdtrと組み合わせたり色々しないといけないけど 過去ログにその話はあったかと http://mevius.5ch.net/test/read.cgi/tech/1663153441/232
233: デフォルトの名無しさん [sage] 2023/03/10(金) 21:21:55.47 ID:c3BQ1P8m 一応表示は""で括ったほうがいいかな データ内容次第ではエラーとか色々起きるんで http://mevius.5ch.net/test/read.cgi/tech/1663153441/233
234: デフォルトの名無しさん [sage] 2023/03/10(金) 21:27:21.03 ID:c3BQ1P8m バッチの入力データ次第という奴はどうしようもないことは以前から何度もレスされてる ""で括ってもダメで遅延環境変数で出力するのが一番まともかも 完全ではないだろうけど http://mevius.5ch.net/test/read.cgi/tech/1663153441/234
235: デフォルトの名無しさん [] 2023/03/18(土) 01:36:02.39 ID:iEi+ABmN フォーいーちないのか? http://mevius.5ch.net/test/read.cgi/tech/1663153441/235
236: デフォルトの名無しさん [] 2023/04/13(木) 18:51:07.20 ID:dCQIGdp/ >>225を bing のチャットAIに丸投げしてみた バッチスクリプトで標準入力を1行ずつ読む方法については、以下のような方法があります¹⁴。 - `for /f %%[アルファベット1文字] in ([ファイル名]) do ([処理])` を使う方法 - `set /p 変数名=` を使う方法 例えば、以下のようなバッチスクリプトで、data.txt の内容を hoge.bat に渡すことができます。 ``` @echo off for /f %%a in (data.txt) do ( echo %%a | hoge.bat ) ``` 上記の例では、data.txt の内容を1行ずつ読み込み、hoge.bat に渡しています。¹ http://mevius.5ch.net/test/read.cgi/tech/1663153441/236
237: デフォルトの名無しさん [sage] 2023/04/14(金) 12:47:02.76 ID:ITYRpePX 質問は受け側のバッチの内容だろ 送り側でfor文にする意味不明 http://mevius.5ch.net/test/read.cgi/tech/1663153441/237
238: デフォルトの名無しさん [sage] 2023/04/14(金) 13:02:44.39 ID:twidN+O+ 処理対象がconioだった名残がたまたま残ってただけで バッチ自体に標準入力という概念は無さそう http://mevius.5ch.net/test/read.cgi/tech/1663153441/238
239: デフォルトの名無しさん [sage] 2023/04/16(日) 15:03:53.79 ID:OSGOKcik ループ処理やif分でもカッコ内の変数スコープがおかしくなるのはどういう原理なんです? http://mevius.5ch.net/test/read.cgi/tech/1663153441/239
240: デフォルトの名無しさん [sage] 2023/04/16(日) 15:21:04.10 ID:j/ssGNNl 実行する行の解釈の後に実行されるから この行の解釈は(から)までは1行として一気に解釈される つまり括弧の中の代入文があったとしても実行前の解釈の時点で(その時点の値で)展開されてしまう http://mevius.5ch.net/test/read.cgi/tech/1663153441/240
241: デフォルトの名無しさん [sage] 2023/04/16(日) 15:36:27.49 ID:j/ssGNNl >>239 set /? に詳しい説明があるので読んでみること http://mevius.5ch.net/test/read.cgi/tech/1663153441/241
242: デフォルトの名無しさん [sage] 2023/04/16(日) 16:30:15.10 ID:zYIf7I3E なにをやってスコープがおかしくなったのか具体例を上げてくれないとなんとも言えないな http://mevius.5ch.net/test/read.cgi/tech/1663153441/242
243: デフォルトの名無しさん [sage] 2023/04/16(日) 16:43:43.01 ID:j/ssGNNl いやだからスコープなんて高級な概念は存在しないんだけど http://mevius.5ch.net/test/read.cgi/tech/1663153441/243
244: デフォルトの名無しさん [sage] 2023/04/16(日) 16:45:17.05 ID:Dywad+WI バッチファイルの言語仕様はウンコすぎるから if ... call :foo "%~1" for ... call :foo "%%~i" とかやっといた方がミスが少ない http://mevius.5ch.net/test/read.cgi/tech/1663153441/244
245: デフォルトの名無しさん [sage] 2023/04/16(日) 16:45:38.04 ID:j/ssGNNl いやsetlocalがあったか でもそれを使ってるんならまず自分のやってることは認識してるはずなんだが http://mevius.5ch.net/test/read.cgi/tech/1663153441/245
246: デフォルトの名無しさん [sage] 2023/04/18(火) 09:44:21.06 ID:N1MfEhNS ファイルディスクリプタの1(標準出力)と3を同時にリダイレクトすると 以降プロンプトや標準出力が表示されなくなるのはなぜでしょう? ハング等ではなく表示されないだけで、cmdとの対話モードは続いているようです。 C:\> dir >nul 3>nul dir ←表示されない dir >&2 ←表示される winver ←起動する http://mevius.5ch.net/test/read.cgi/tech/1663153441/246
247: デフォルトの名無しさん [sage] 2023/04/19(水) 22:45:42.84 ID:UrhLKEvZ win11 64bitの環境でどのようなフォルダを開いても 最初からファイルの並びや表示を↓のようにしたいです。 ●●●●●●●●●●● 表示は「一覧」 並び替えは「名前」で「昇順」 グループで表示は「なし」 ●●●●●●●●●●● クリーンインストール直後でもbatファイルで一発で 出来るようなの教えてください http://mevius.5ch.net/test/read.cgi/tech/1663153441/247
248: デフォルトの名無しさん [sage] 2023/04/20(木) 22:07:04.72 ID:dJqrvGvM クリーンインストールでやる場合はISOイメージをカスタマイズする必要あると思うし このスレの範疇をだいぶ超えてるような気がする ひょっとすると外人ならbatファイル一発でやる「技」を持ってるかもしれないね http://mevius.5ch.net/test/read.cgi/tech/1663153441/248
249: デフォルトの名無しさん [sage] 2023/04/21(金) 08:48:46.19 ID:TBBX4m6H >>246 ようわからんなこれ。 標準出力の向き先が3番に切り替わってる。 4番もリダイレクトすると標準エラー出力も切り替わりっぱなしになる。 バグ利用?だけどこれ利用するとデフォルトでログ出力できるな。 echo onだとプロンプトまで記録できる。 ●【バッチ】************************** @type nul 1>nul 2>nul 3>"%~f0.log" 4>&3 echo 処理開始 ver cd aaa echo 処理終了 @exit /b ●【画面】**************************** 処理終了 続行するには何かキーを押してください . . . ●【ログ】**************************** C:\>echo 処理開始 処理開始 C:\>ver Microsoft Windows [Version 10.0.19044.2846] C:\>cd aaa 指定されたパスが見つかりません。 C:\>echo 処理終了 処理終了 http://mevius.5ch.net/test/read.cgi/tech/1663153441/249
250: デフォルトの名無しさん [sage] 2023/04/21(金) 08:53:12.94 ID:TBBX4m6H >>249 改行数制限に引っかかって修正した時にバッチ内容間違えた。 @type nul 1>nul 2>nul 3>"%~f0.log" 4>&3 echo 処理開始 ver cd aaa echo 処理終了 @echo 処理終了 >&3 & pause >&3 @exit /b http://mevius.5ch.net/test/read.cgi/tech/1663153441/250
251: デフォルトの名無しさん [sage] 2023/04/24(月) 17:00:24.74 ID:oDKRGmAI >>247 その設定にするレジストリ教えて http://mevius.5ch.net/test/read.cgi/tech/1663153441/251
252: デフォルトの名無しさん [] 2023/04/26(水) 22:20:37.49 ID:MVyBKPQf --------------- @echo off set "parent_directories=tamachi omiya" set "sub_directories=0001 0002 0010" setlocal enabledelayedexpansion for %%P in (%parent_directories%) do ( for %%S in (%sub_directories%) do ( set "combined_directory=%%P%%S" echo RewriteEngine On > !combined_directory!.htaccess echo RewriteBase /%%P/%%S/ >> !combined_directory!.htaccess echo. >> !combined_directory!.htaccess echo # Redirect only short URLs >> !combined_directory!.htaccess echo RewriteCond %%{REQUEST_FILENAME} !-f >> !combined_directory!.htaccess echo RewriteCond %%{REQUEST_FILENAME} !-d >> !combined_directory!.htaccess echo RewriteRule ^^(.+)$ htdocs/$1 [L] >> !combined_directory!.htaccess ) ) 上記のようなコマンドのバッチを作った。 バッチを叩くと以下のようなhtaccessをfor分だけ出力させたい。 しかし、$文字のために、バッチがすすまない。$$としてエスケープ試してみるもできなかった。 良きアイデアないだろうか? --------------- 【tamachi0001.htaccess】 RewriteEngine On RewriteBase /tamachi/0001/ # Redirect only short URLs RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ htdocs/$1 [L] http://mevius.5ch.net/test/read.cgi/tech/1663153441/252
253: デフォルトの名無しさん [sage] 2023/04/26(水) 22:46:13.41 ID:UfBGheQ3 >>252 $の前の)がdoの閉じカッコになっちゃってる echo RewriteRule ^^(.+^)$ htdocs/$1 [L] >> !combined_directory!.htaccess http://mevius.5ch.net/test/read.cgi/tech/1663153441/253
254: デフォルトの名無しさん [sage] 2023/04/26(水) 23:03:33.59 ID:MVyBKPQf >>253 ありがとう。確かにvscodeだと()対応の注意はなかったのに、sublimetextでは注意してる。 気づかないなあー。助かりました。勉強になります。 http://mevius.5ch.net/test/read.cgi/tech/1663153441/254
255: デフォルトの名無しさん [] 2023/04/26(水) 23:43:29.63 ID:MVyBKPQf 別件にて質問させてください。 バッチが出力するファイルを RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -d ではなくて、 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d としたい。 どのように修正すればよいでしょうか? ------ @echo off set "parent_directories=tamachi omiya" set "sub_directories=0001 0002 0010" setlocal enabledelayedexpansion for %%P in (%parent_directories%) do ( for %%S in (%sub_directories%) do ( set "combined_directory=%%P%%S" echo RewriteEngine On > !combined_directory!.htaccess echo RewriteBase /%%P/%%S/ >> !combined_directory!.htaccess echo. >> !combined_directory!.htaccess echo # Redirect only short URLs >> !combined_directory!.htaccess echo RewriteCond %%{REQUEST_FILENAME} !-f >> !combined_directory!.htaccess echo RewriteCond %%{REQUEST_FILENAME} !-d >> !combined_directory!.htaccess ) ) ------ http://mevius.5ch.net/test/read.cgi/tech/1663153441/255
256: デフォルトの名無しさん [sage] 2023/04/27(木) 00:51:53.98 ID:DnKcM+QL 自己解決しました。 理屈がよくわかりませんが、!の直前に^^とすることでエスケープすることができました echo RewriteCond %%{REQUEST_FILENAME} !-f >> !combined_directory!.htaccess echo RewriteCond %%{REQUEST_FILENAME} !-d >> !combined_directory!.htaccess ↓ echo RewriteCond %%{REQUEST_FILENAME} ^^!-f >> !combined_directory!.htaccess echo RewriteCond %%{REQUEST_FILENAME} ^^!-d >> !combined_directory!.htaccess お騒がせいたしました。 http://mevius.5ch.net/test/read.cgi/tech/1663153441/256
257: デフォルトの名無しさん [sage] 2023/04/27(木) 01:12:28.56 ID:RXLaISm2 ^^ http://mevius.5ch.net/test/read.cgi/tech/1663153441/257
258: デフォルトの名無しさん [sage] 2023/04/28(金) 00:51:43.20 ID:aBUvFTO3 >>256 なんでだろう ^^どころか^も使わないものな http://mevius.5ch.net/test/read.cgi/tech/1663153441/258
259: デフォルトの名無しさん [sage] 2023/05/05(金) 12:47:19.73 ID:Tmh5Tg58 バッチファイルをvbsに移植してってAIに投げたらやってくれたんでPythonも頼んだらこっちも成功 妙な制限から卒業できるぞ http://mevius.5ch.net/test/read.cgi/tech/1663153441/259
260: デフォルトの名無しさん [sage] 2023/05/05(金) 13:40:50.07 ID:Aaus9EG8 c#がいいんじゃないか pythonは入れてない人が殆どだろうし、c#ならwindows全員入ってる まあ一旦コンパイルしないといけないけど http://mevius.5ch.net/test/read.cgi/tech/1663153441/260
261: デフォルトの名無しさん [sage] 2023/05/05(金) 20:08:22.78 ID:cXUEGYUP だったらC#はpowershellからコンパイルなしで使えるからpowershellがいいんじゃないか 実際powershellとC#ごっちゃにして使ってるぞ http://mevius.5ch.net/test/read.cgi/tech/1663153441/261
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 558 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s