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

20: デフォルトの名無しさん [sage] 2022/09/29(木) 13:35:46.81 ID:ezl+1hvw(1) AAS
確かに違わないんだけど、どう違わないのか勝手に補足。

set /?に基づくここでの用語定義:
・「環境変数」(一般変数)
   … 値が一旦決まれば勝手には値が変わらない普通の環境変数。Windowsの機能がベース。
・「動的な環境変数」(dynamic environment variables)(特殊変数)
   …「RANDOM」「ERRORLEVEL」など。cmdの独自機能。

仕様仮定(私の認識):
・set /a での名前だけで値を参照できる機能は「環境変数」だけ対象としている。
・cmdの構文解釈による「%〜%」で値を参照できる機能は
 「環境変数」と「動的な環境変数」を対象としている。

以上を踏まえたうえで
「set /a a=random」の「random」は「動的な環境変数」ではなく「環境変数」であり、
『他の「環境変数」の扱い』と「違わない」。

「一般変数と処理が違う」のはcmdによる構文解釈の「%〜%」での扱い。

また、「set /a a=%random%」での「%random%」は
まずcmdの構文解釈により「動的な環境変数」として「123」のように展開され
「set /a a=123」となり、setには「環境変数」すら使われていないように見える。

※cmdの内部コマンドである「set」からは「動的な環境変数」も見えてもいいのにね。
 同じく内部コマンドの「if」からは見えてるみたいだし。
21: デフォルトの名無しさん [] 2022/10/05(水) 15:17:30.50 ID:NmGDxxah(1/2) AAS
質問です。
ファイルのフルパスを表示するときに、
このコマンド使っていますよ、という意味で
rem %0
echo %0
と買いているんですが、remの方の変数まで展開されてしまいます。
展開させずに文字列のまま表示するにはどうしたらよいでしょうか?
22
(1): デフォルトの名無しさん [sage] 2022/10/05(水) 15:28:26.09 ID:yuT90fin(1) AAS
rem %%0
23: デフォルトの名無しさん [] 2022/10/05(水) 16:34:14.38 ID:NmGDxxah(2/2) AAS
>>22
出来ました!ありがとうございます。
24: デフォルトの名無しさん [] 2022/10/08(土) 17:33:40.37 ID:zk6uj/6h(1/2) AAS
C:\test>"C:\test\app.exe"
というコマンドを間違えて実行したらapp.exeが0バイトに書き変わったのですがなぜでしょうか
25: デフォルトの名無しさん [sage] 2022/10/08(土) 17:43:53.04 ID:f2a8Snt9(1/2) AAS
空の標準出力をリダイレクトで書き込んでるからだろう
26: デフォルトの名無しさん [sage] 2022/10/08(土) 17:48:05.02 ID:R/0NVeNc(1) AAS
なぞなぞじゃね?
27
(1): デフォルトの名無しさん [sage] 2022/10/08(土) 18:00:30.98 ID:zk6uj/6h(2/2) AAS
コマンドプロンプトからバッチファイルにコピペしたら間違えて作業フォルダが付いてしまって
何かのコマンドなのでしょうか
28: デフォルトの名無しさん [sage] 2022/10/08(土) 18:59:40.31 ID:f2a8Snt9(2/2) AAS
オカルトかな?
ん?お前のパソコン何かおかしくね?
29: デフォルトの名無しさん [sage] 2022/10/08(土) 21:15:53.37 ID:4RiXxOsU(1) AAS
>>27
日本語でOK
30
(1): デフォルトの名無しさん [sage] 2022/10/08(土) 21:20:11.87 ID:NCKRr8hU(1) AAS
エラーになってもリダイレクトは実行されちゃうんだな
バグとちゃうか
31: デフォルトの名無しさん [sage] 2022/10/08(土) 21:31:19.08 ID:bRwGYufv(1) AAS
プロンプトまでバッチにコピペするなよ
32: デフォルトの名無しさん [sage] 2022/10/09(日) 11:18:46.47 ID:yk0ofCIK(1) AAS
>>30
指定された実行対象ファイルがない、
というのは実行時エラーなので(構文エラーではない)
そのエラーメッセージをファイルリダイレクトして記録できる事は有益。
なのでバグ(仕様バグ)ではないと思われる。
33: デフォルトの名無しさん [sage] 2022/10/09(日) 12:38:18.26 ID:r7gKIzvL(1) AAS
一貫性のある動きだよな
エラー出力は欲しいけど標準出力はリダイレクト自体をなかったことにしてくれというのは無理がある
そもそもリダイレクト先がログファイルなら気にも留めないような話
びっくりする理由があるとしたらexeにリダイレクトしても容赦なく書き換えられるという点で、コマンドラインはそういう点で結構慈悲がない
ある程度はパワーユーザー向けという位置付けなので気をつけるしかない
34: デフォルトの名無しさん [sage] 2022/10/12(水) 04:44:03.67 ID:Jko2ebMR(1) AAS
window-position異なる位置のバッチをそれぞれ作ってるのですが
bat2個目を起動すると1個目の起動したバッチにつられてカスケード起動します
何か対処方法ありますでしょうか?
35: デフォルトの名無しさん [] 2022/10/13(木) 18:33:52.32 ID:Fb+ro4ZF(1) AAS
UIから起動されたCMDからのバッチなのか判別する方法ありますか?LinuxでいうTERMみたいな
36: デフォルトの名無しさん [sage] 2022/10/13(木) 20:39:40.77 ID:tHyHHwT5(1) AAS
うん
過去スレで全く同じ質問してる子いるから漁っておいで
37: デフォルトの名無しさん [sage] 2022/10/30(日) 06:52:23.05 ID:i1fpLCEI(1) AAS
zipファイルに書き込むコマンドはありますか?
copy foo.txt bar.zip
とやっても「bar.zipに上書きしますか?」になるだけなんですけど
上書きがしたいんじゃなくアーカイブしたいんです。
38: デフォルトの名無しさん [sage] 2022/10/30(日) 08:16:49.21 ID:oF72FRjI(1) AAS
7za.exe
39: デフォルトの名無しさん [sage] 2022/10/30(日) 17:16:25.85 ID:RObFZ+1A(1) AAS
compressコマンドはcabだけだったかな?
pwsh -c "gh compress-archive"参照
40
(1): デフォルトの名無しさん [sage] 2022/10/30(日) 20:28:18.19 ID:WT6dub7d(1) AAS
explorerで操作すると書き込めるからコマンドありそうな気がする
41: デフォルトの名無しさん [sage] 2022/10/30(日) 20:49:57.93 ID:JhK1ASYS(1) AAS
zipコマンドでググれ
42: デフォルトの名無しさん [sage] 2022/10/31(月) 15:34:40.68 ID:aCuyX04T(1) AAS
pwsh -c "Get-help -name compress-archive"
43: デフォルトの名無しさん [sage] 2022/10/31(月) 22:51:09.43 ID:HZxZgtz6(1) AAS
>>40
Explorerと同じ圧縮処理は、ExplorerのCOMオブジェクト(Shell.Application)を操作する事でできる。
確か、正式に提供した機能ではないので動作は保証しない、非推奨、みたいな扱いだった気が。
44
(1): デフォルトの名無しさん [sage] 2022/11/02(水) 15:48:21.33 ID:ZBNaiNsJ(1/2) AAS
質問失礼します。
ファイル名の一部の文字列(例:4文字目から8文字目まで)を一括削除するバッチを作りたいのですが…
[例]a1b2c3d4e5.m4a→a1b2e5.m4a
検索の結果、先頭4文字を削除するバッチ(下記)を見つけたので、アレンジしたいのですが、その方法がわからずにおります。
アレンジ方法がわかる方、もしくは別の方法でも構いませんので、教えて頂けないでしょうか?
------------------------
for %%i in (*) do (
if not "%%i"=="%~nx0" (
set vv=%%i
call ren %%i %%vv:~4%%
)
)
------------------------
参考になりそうなURLでも助かります。
1-
あと 775 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s