[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/13 02:16 / Filesize : 294 KB / Number-of Response : 1050
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【.cmd】 バッチファイルスクリプト %13 【.bat】



1 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 14:52:07.84 ID:v84I4o+L.net]
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。

※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
echo.2ch.net/test/read.cgi/tech/1424858999/
【.cmd】 バッチファイルスクリプト %12 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1489207631/

それ以前の過去スレ
%10 peace.2ch.net/test/read.cgi/tech/1374205515/
%9  toro.2ch.net/test/read.cgi/tech/1335015478/
%8  toro.2ch.net/test/read.cgi/tech/1315844420/
%7  hibari.2ch.net/test/read.cgi/tech/1298873550/
%6  hibari.2ch.net/test/read.cgi/tech/1277465356/
%5  pc12.2ch.net/test/read.cgi/tech/1242268171/
%4  pc12.2ch.net/test/read.cgi/tech/1229955189/
%3  pc11.2ch.net/test/read.cgi/tech/1217860043/
%2  pc12.2ch.net/test/read.cgi/tech/1197881068/
%1  pc11.2ch.net/test/read.cgi/tech/1178281991/

231 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 18:58:22.71 ID:OlE51f/u.net]
>>223
そもそもそんなギリギリまで使う方がおかしい
あとウィルスとかのセキュリティの話はまた別の話

232 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 19:19:36.75 ID:acT05/Jv.net]
cmdは既に穴だらけなんで

233 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 20:08:18.95 ID:8z0TGIdq.net]
穴だらけなのかもしれないが、外部に開いた穴は無いんで
悪用されるにはその前に侵入を許してしまってる必用がある
まあ侵入されたあとにコマンドプロンプトを使うようなウィルスはあるかは知らないけど

234 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 05:43:03.21 ID:mwwG6pNT.net]
ワンラインで8kか
フルパス200文字位のファイルを40個D&Dしたらもうパンクか
ヘタレ過ぎる

235 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:08:50.98 ID:AKGG1UAL.net]
初心者故説明不足でしたらご指摘ください。
調べてもわからなく、ご教示いただけないでしょうか。

やりたいこと
Windowsアップデートのインストール一覧のうち
2019年分のみ抽出したい。

やったこと
一覧を取得するコマンドで情報をテキストファイルに出力。
その後findstrで2019分のみを抽出しようとしたけど
抽出出来なかった。

実行コマンド
Windowsアップデート一覧取得
wmic qfe get InstalledOn,HotFixID > aaa.txt

抽出コマンド
findstr "2019" aaa.txt

抽出コマンド実行後、結果が帰って来ませんでした。
なぜ結果が帰って来ないのかが全くわかりません。
どうか、対処法をご教示いただけないでしょうか。

236 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:21:50.48 ID:mwwG6pNT.net]
ユニコードだからじゃない?
type aaa.txt > aaa1.txt
aaa1.txt でやってみろ

237 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:30:25.48 ID:SBjduyI+.net]
wmicはリダイレクトするとUTF16LEになるから
230みたいに文字コード変換するか、パイプで
wmic qfe get InstalledOn,HotFixID | findstr /n "2019"

238 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:31:56.22 ID:SBjduyI+.net]
あ、/n付けちゃったけどまぁいいか

239 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:53:09.70 ID:AKGG1UAL.net]
>>230
>>231
ご教示頂きましてありがとうございます!
文字コードは盲点でした。もっと勉強します。
教えて頂いたコマンドで自身の望む結果が帰って来ました。
ありがとうございます!



240 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 10:13:44.37 ID:P3O2UGUp.net]
Explorerから「送る」SendTo で使うバッチの中の pushd "%~dp1" が失敗するケースて有り得る?
送るから使うって事はアクセス出来てるはずなので失敗する事はないと思うんだけど
pushd "%~dp1"||exit とか失敗した場合の処理書いといた方が良いのかな

241 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 12:37:34.91 ID:qazE1A0w.net]
>>234
パスの中に全角スペースが入っていて半角スペースが入ってない場合なんかは失敗するんじゃないかな

242 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 14:43:51. ]
[ここ壊れてます]

243 名前:05 ID:rRFcU9uI.net mailto: >>234
フルパスに半角スペースが無くて、それ以外の文字で区切られた場合、
区切られた位置が親フォルダだったら、
さらにその親に移動するだけで、エラーにもならない
[]
[ここ壊れてます]

244 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 14:50:46.43 ID:P3O2UGUp.net]
>>235
その問題、失念してた。ありがとう
パスに半角スペースが無くて、全角sp" "、コロン","、セミコロン";"、ハット"^"、イコール"=" の何れかが有る時だね
半角sp有る無し関係なく引数全部""括るようにすれば良いのにまだこの問題残ってたんだね
意図しない動作ではあるものの最初にデリミタ文字を含むフォルダの親フォルダにカレント移動して pushd 自体は成功する
pushd が失敗する事例を知っていたら教えて欲しい
この問題は対応面倒なのでパスに半角スペースを含めるようにして対処するよ

245 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 15:04:31.95 ID:rRFcU9uI.net]
引数いくつか知らんが pushd "%~dp2" は失敗するだろ。
引数1個限定なら %2 が有れば exit するとか。
あるいは >>48 を参考に

246 名前:234 mailto:sage [2019/06/13(木) 16:36:42.36 ID:P3O2UGUp.net]
送るから使う前提で
pushd "%~dp1"||エラー処理
のエラー処理を書く意味あるかな?てのが聞きたかった事なんだ
まあおまじない的にpause&exitしとくよ。ありがとう

247 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 17:10:58.72 ID:rRFcU9uI.net]
引数全部で
if "%~dp1"=="%~dp2"
if "%~dp1"=="%~dp3"
if "%~dp1"=="%~dp4"
とか確認すりゃ問題ない

248 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 17:24:03.99 ID:rRFcU9uI.net]
>>240
でもファイル名使うとダメだな

249 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 15:25:04.04 ID:/ScwnRxc.net]
誰もツッコミ無しか
SendTo とか D&D は何もしなくても自動的に
送り側のディレクトリに移動するんだが



250 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 15:52:59.01 ID:/ScwnRxc.net]
SendTo にバッチ本体じゃなくて
ショートカットを入れたのかね
でもプロパティの作業フォルダを空にすればいい
怪しげな引数を利用するよりマシだろ

251 名前:デフォルトの名無しさん [2019/06/15(土) 09:44:04.71 ID:wrdBniJb.net]
7-ZIPの 7za.exe でワイルドカード使ったときにサブフォルダを除外するにはどうしたらいいでしょうか?
-r-を付けてもなぜか効かないんですが

7za.exe a XXX.zip -r- *

252 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 12:34:19.95 ID:/kIGVJHV.net]
>>244
7zaは経験ないが7zと同じだろう
引数に*としたらサブディレクトリも含む
サブディレクトリを指定したら、それ以下の全部を含む
そこでスイッチは関係ない
ファイルだけ圧縮したいなら

@echo off
path C:\Program Files\7-Zip;C:\WINDOWS\system32;C:\WINDOWS;
if exist archive.7z del archive.7z
set a=
setlocal enabledelayedexpansion
for %%i in (*) do set a=!a! "%%i"
7z a archive.7z !a%!
pause

253 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 12:36:06.42 ID:/kIGVJHV.net]
ああ、すまん
.zip に置き換えて

254 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 13:27:41.74 ID:/kIGVJHV.net]
>>245はファイル名に!^があると誤動作するので

@echo off
path C:\Program Files\7-Zip;C:\WINDOWS\system32;C:\WINDOWS;
if exist XXX.zip del XXX.zip
for %%i in (*) do 7za a XXX.zip "%%i"
pause

にした方がいいかもね
ちなみにInfo-ZIPのzip.exeでは
zip XXX.zip *
だけでいいが空のサブディレクトリを作成する

255 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 08:25:16.99 ID:gSWoSWwj.net]
.commandでターミナルを開いてpython3 /hoge/test.pyを入力、エンターを送信してpyファイルを実行したいのですがご教授ください。m(_ _)m

echo python3 /hoge/test.pyとするとターミナルに入力はされるのですが、pythonが実行されません。

ちなみに.batでは、
cd C:\hoge\
cmd /k python test.py
でpythonを実行する事ができました。

.commandで同じ事をするにはどうすればいいでしょうか?

256 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 13:48:44.19 ID:gSWoSWwj.net]
248です
解決しました。m(_ _)m

echoなんか付けずに

python3 /hoge/test.py
でpythonが実行できました。ありがとうございます。

257 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 18:30:49.93 ID:/bUEZ7B5.net]
バッチファイルからbeep音を出す

echo ^G >

258 名前:beep.bat
^G は コントロールキーとG

beep.batを実行すると音は出るが、エラーも出るので
type beep.bat
のほうがよい

beep.bat 2>nul
でエラーは消えるはずだが、なぜか音も出ないことがある

こういう基本コマンドがなぜかない
[]
[ここ壊れてます]

259 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 21:28:51.00 ID:KEFOQI4b.net]
>>250
beep.bat
でエラーが出るのは当然

beep.bat の中身は 「あ」 と一文字書いてあるのと同じようなものだから
コマンドになってない

だから
echo ^G> beep.dat
echo type beep.txt> beep.bat

とするか

echo @echo ^G> beep.bat
とすれば

beep.bat実行でエラーは出ない

ちなみに@echoとしてechoの頭に@をつける理由は
そうしないと、
実行コマンドが表示される時点で一回音が鳴り
echo が実行されることによって音が鳴るので
結果として2回音が鳴ることになるため



260 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 22:13:21.14 ID:KEFOQI4b.net]
無料のエディタでも制御文字を扱えるものがあるので
そういったものを使うと便利かと思います

たとえばNotepad++では制御文字を表示することができます
https://www.howtonote.jp/notepadplusplus/install/index10.html
入力は編集-文字コード表から

サクラエディタは制御文字を入力できるのに表示する方法はわかりませんでした
(自分はユーザではなく詳しくないので実際はあるのかもしれない)
sakura-editor.sourceforge.net/htmlhelp/HLP000255.html

261 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 22:46:13.03 ID:kzHmUXK8.net]
トリッキーだが、コントロールコードを直接書かないで実現することもできるね
ここの過去ログ%11にあったけど
for /f "delims=0" %%I in ('cmd /u /c echo 〇') do set BEL=%%I
echo %BEL%

262 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 23:09:42.80 ID:+j+1wiRe.net]
バッチにバイナリエディタで入力したら
どんな値でも変数に代入出来るのかな?

263 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 23:10:40.48 ID:KEFOQI4b.net]
>>251
訂正
誤:echo type beep.txt> beep.bat
正:echo type beep.dat> beep.bat

264 名前:デフォルトの名無しさん mailto:sage [2019/06/18(火) 17:34:44.10 ID:eep67jJ0.net]
cls|choice 1>nul 2>nul

265 名前:デフォルトの名無しさん mailto:sage [2019/06/18(火) 19:33:08.53 ID:KnqBLmEX.net]
>>251
なるほど、どっちもありですね

echo ^G> beep.dat
echo type beep.dat> beep.bat

echo @echo ^G> beep.bat
@echo のこんな使い方は初めて見た、知らなかったです

266 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 06:51:19.02 ID:dygsK1bo.net]
Windows Terminal早速試せるみたい。

Microsoft’s new Windows Terminal now available to download for Windows 10 - The Verge
https://www.theverge.com/2019/6/22/18701365/microsoft-windows-terminal-10-download-store-features

267 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 12:23:35.72 ID:Lc+3aX4/.net]
>>258 そこに書いてある

Microsoftはまた、Linux用のWindows Subsystem(WSL)の
パフォーマンスを向上させるために、
完全なLinuxカーネルをWindows 10に搭載することに取り組んでいます。

こっちの方が気になるなあ

268 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 12:41:20.55 ID:8sWJbccc.net]
WSL2でしょ

269 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 00:46:23.52 ID:6j3DQJ1O.net]
Windows7からWindows10に変えたら、IME単語登録用ソフトのIMECが動かない。
神は死んだ・・・



270 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:20:48.71 ID:sBqqHKRF.net]
chcp 65001
if "hoge"=="hoge" (
echo あああ
echo いいい
)
pause

上みたいなbatをUTF-8で保存して実行すると
'o' is not recognized as an internal or external command,
と言われてエラーになるんですが何故ですか?

271 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:23:12.67 ID:sBqqHKRF.net]


272 名前:echoの前に半角スペース3つです []
[ここ壊れてます]

273 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:52:58.06 ID:O4gheXA8.net]
良く分からんが >>258 の奴でやると
もしかしたら上手くいくかもね

274 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 19:58:43.79 ID:O4gheXA8.net]
chcp 65001
if "hoge"=="hoge" (
echo あああ& rem
echo いいい
)
pause

275 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:17:53.34 ID:O4gheXA8.net]
行末が非asciiだと不味いようだ

276 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:18:26.26 ID:sBqqHKRF.net]
>>265
レスありがとうございます
それだとエラーは出なくなりました
でもなんでこんな訳のわからない動作をするのかがわかりません

277 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:34:02.78 ID:O4gheXA8.net]
上手く動作しないという事はバグじゃないですかね
それ以上はcmdの作者じゃないので分からん

278 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:49:18.67 ID:yTOc80/J.net]
そもそもUTF-8保存バッチなんてまともに動くの見た事無い。
バッチはUS-AsciiかシフトJIS保存が安全。いくらchcpでコードページが動かせようとも

279 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:51:13.72 ID:yTOc80/J.net]
"シフトJIS(932) だけ? いいえ、そんなことはありません。例えば、EUC-JP(20932) も可能です。しかし、Unicode(1200)、UTF-7(65000)、UTF-8(65001)、JIS(50220) はダメです。
なので、実際上?は、シフトJIS(932) だけのようなものです。"
scripting.cocolog-nifty.com/blog/2008/12/post-38f8.html



280 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:18:10.64 ID:O4gheXA8.net]
ユニコードでしか表示できない文字を表示したいならともかく
"あああ" とか "いいい" じゃ全く意味が無いな

281 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 07:19:54.19 ID:/FHvjGPn.net]
やはりbatをUTF-8で動かすと色々不安定みたいですね
素直にShift_JISで書くことにします

282 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 08:01:27.89 ID:5bijRuYR.net]
ASCIIで書いてもええんやで?

283 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 08:13:25.58 ID:QearoGxm.net]
Asciiで"あああ"や"いいい"が表せるかバカ

284 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 14:39:32.78 ID:wh3oZ78w.net]
シフトJISで表せない文字の例

@echo off
chcp 65000 > nul
set a=+nddRZwDA-
chcp 932 > nul
set a1=%a:~0,1%
set a2=%a:~1,1%
set a3=%a:~2,1%
echo 森%a1%外の「%a1%」
echo %a2%田百閧フ「%a2%」
echo アクセント符号付きのアルファベット「%a3%」
pause > nul

285 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 19:26:37.84 ID:jdth62TN.net]
ハードコーディングする必要ないだろ…

286 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 20:16:33.91 ID:wh3oZ78w.net]
ユニコードのバッチでいいなら必要ないな
echoは行末に半角スペース付けると多分ok
setは二重引用符で囲めばいい

287 名前:デフォルトの名無しさん mailto:sage [2019/06/27(木) 00:26:23.36 ID:65pELY4n.net]
会得したところで今後の人生に役に立たない、もしくは自分の仕事を受け継いだ「標準的な知識の」人間に理解できないことはしない方がいい。
一子相伝の拳法とかじゃねーんだから。

バッチスクリプトに限らず、仕事でそういうことを意識できない奴は、大抵、後から見て自分自身でも読めないコードを書くものだ。

288 名前:デフォルトの名無しさん mailto:sage [2019/06/27(木) 00:27:58.62 ID:65pELY4n.net]
このスクリプトは自分で終わり…
とかいう書き捨てスクリプトなら大いにやって良いと思う。

使い終わったらちゃんと捨てとけよ。

289 名前:デフォルトの名無しさん mailto:sage [2019/06/27(木) 04:32:59.89 ID:41DSIiqO.net]
この 低レベルに合わせる事こそ唯一の原則 みたいな風潮すごいイヤ
こんなとこまで啓蒙しなくていいよ気持ち悪い



290 名前:デフォルトの名無しさん mailto:sage [2019/06/27(木) 04:53:0 ]
[ここ壊れてます]

291 名前:5.65 ID:6UZ42pkx.net mailto: >>279 板汚し失礼した。使わないが捨てる。
よく考えたらutf-8のバッチで変数に代入した後、
sjisのバッチに移ればいいだけだった。
utf-8のバッチは不安定だが代入だけなら大丈夫だろう。
なんで気がつかなかったんだろう。

>>280 ありがとう。
[]
[ここ壊れてます]

292 名前:279 mailto:sage [2019/06/28(金) 00:34:45.44 ID:khpSyJhs.net]
>>280
低レベルに合わせるわけじゃねーよ。

現代的なスクリプト言語を学んできたような人間に対して
「バッチスクリプトだけで通じる特殊で小賢しいハック」
を読ませたり書かせたりするべきじゃない、自分だけに留めとけ、結局誰得になる、って話が何故分からないかな?

今日も
「文字列にASCIIの制御コードを挟めばテスト環境でこの処理通ったんでいいでしょ」
なんつったアホンダラを叱りつけたところだ。
「そのコードが何を意味してるか分かる?」と聞いたら「空白です」だとよ。そりゃ、制御コードは「お前のエディタでは」見えないよ。アホか。
制御コードがテスト環境と違う実環境でどう解釈されるか分かったもんじゃないから却下した。

実際、実環境でこっそりテストしてみたらやっぱり処理はコケた。

293 名前:279 mailto:sage [2019/06/28(金) 00:39:45.58 ID:khpSyJhs.net]
で、バッチにもイディオムがある。
「AをしたいときはBと書け」ってやつ。
そういうものは、たとえ現代的なスクリプト言語とは感覚がかけ離れていてもバッチを書くなら「嫌でも」学習せねばならない。

つまり、
・言語や環境が想定している範囲内ならやってよし。むしろやれ。
・範囲外ならやるな。やるなら自己責任で他人に迷惑を掛けない程度に。
ということ。

これはどんな言語やシステムにも言えること。

294 名前:279 mailto:sage [2019/06/28(金) 00:51:59.74 ID:khpSyJhs.net]
もっと言うと、何かを開発するときにまず最初にやることってのが
「この言語や環境はどこまで想定しているのかを調べる」
だったりする。

自分のやりたいことに沿ってくれるかくれないのか。
くれないなら処理の一部だけやらせるに留めるなり、最初から使わないなり、そういう選択をする。
言語や環境に縛りがある場合なら、責任者の言質を取るなり、書面で誓約を取ってから作る。

見ず知らずの他人が意味も訳も分からないトリッキーなコードをメンテさせられて苦しむのを想像できないならいくらでもトリッキーにやればいい。
「このコード書いた奴、死ねばいいのに」って言われても俺には関係ない、くらいの根性腐った奴ならそうすればいい。

295 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 04:47:52.79 ID:+wrrcV+u.net]
だからキモイって
創価学会員並みにキモイ
狂信者の啓蒙活動と同じ
こんなところではなくおまえの会社でやってろ

296 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 07:00:46.98 ID:n6DQpX/4.net]
しかしWin環境はテキストのBOMマーク推奨なのに、for /fで読み出しするとBOMをわざわざ表示するのバカだよな。
過去の検討不足がまんま固定してる

297 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 07:22:18.87 ID:utv5/5Cv.net]
面倒くさい奴が一人いるな
何を書こうが勝手だが、ここはお前の職場じゃないぞ

298 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 07:41:24.76 ID:utv5/5Cv.net]
>>286
BOM付きのファイルは一行目を空行にしている。
バッチに限らず後で色々トラブルあるから

299 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 23:56:34.27 ID:b/1HFBuK.net]
>>284
> 「この言語や環境はどこまで想定しているのかを調べる」

それはかなり大変なので、



300 名前:Q、3回やってもうまくいかなかったら別の言語に乗り換えるという便法が別の解決策 []
[ここ壊れてます]

301 名前:デフォルトの名無しさん mailto:sage [2019/06/29(土) 01:27:00.86 ID:LLveF6E3.net]
だから何?

302 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 08:37:48.34 ID:yoyjVAJo.net]
Win10 v1903
メモ帳で新規作成したテキストがtypeで化ける
もはやSJISは既定値ではない
cmdは旧態依然

303 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 17:34:32.60 ID:9mSpzETW.net]
まあ chcpすりゃいいだけだし

304 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 18:30:22.69 ID:wRHHZz1p.net]
日本語レイアウトが崩れるからだめ

305 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 21:43:07.98 ID:y34WtIiv.net]
以前は実行中のバッチファイルを編集保存、行を追加したり減らしたり、すると
エラーになってたと思うんだけど、何かエラーにならなくなった?
Windows10 1903 からの変更?
たまたまなのかな?

306 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 21:57:41.98 ID:y34WtIiv.net]
>>294 自己レスです
すいません、気のせいでした、たまたま起きないように見えただけで
普通にエラーが起きました

307 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 00:07:51.66 ID:BL7Y7b8G.net]
実行中の行やその直後の行を追加したり削ったりすれば、
同じ処理が繰り返しになったり、必要な処理がスキップされる形になって
挙動がおかしくなるな

308 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 20:30:36.68 ID:Osj0+Img.net]
バッチファイルスクリプトって働き方改革になるの?

309 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 21:19:11.24 ID:zBRgAgd8.net]
Powershellが10年経って育った今からバッチを学ぶ意義は薄い



310 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 08:00:17.95 ID:NPkITZNc.net]
>>296
全部メモリーに読み込んでしまうとかファイルロック掛けるとかすれば良いのにね

311 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 08:01:28.83 ID:NPkITZNc.net]
>>298
PowerShellは色々トリッキーなところあるからなぁ
もう少し普通のスクリプト言語で良かったのに…

312 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 10:23:31.70 ID:OJAqpfME.net]
>>299
インタープリターではなくなる

313 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 10:31:09.33 ID:SnF6bIfm.net]
働き方改革?

314 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 10:53:24.31 ID:NPkITZNc.net]
>>301
意味わからん…

315 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 10:59:51.87 ID:OJAqpfME.net]
>>303
そもインタープリターは行単位でのみ読み込み解釈実行する仕様。

行内容を変えても反映されないんじゃインタープリターにならない

316 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 11:04:50.99 ID:NPkITZNc.net]
>>304
> そもインタープリターは行単位でのみ読み込み解釈実行する仕様。
逐次解釈は別にメモリーからでもいいだろ

> 行内容を変えても反映されないんじゃインタープリターにならない
そもそも行内容変えたらおかしくなるって話なんだがw

317 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 11:12:26.69 ID:OJAqpfME.net]
>>305
1の行の処理が終わってから2の行を読み込み解釈するのがインタープリター
メモリ先に読み込んだんじゃ意味ないの。
行内容変えてバグ混入させてバグったなら仕様通り

318 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 11:45:00.41 ID:ddaI9LPq.net]
ディスクキャッシュなしだとクッソ遅いんだよな

319 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 11:54:17.26 ID:NPkITZNc.net]
>>306
読み込み元がファイルかメモリーかなんて関係ないだろ
昔のBASICはインタープリターじゃねーのかよw

> 行内容変えてバグ混入させてバグったなら仕様通り
バカすぎる…



320 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 12:11:18.65 ID:OJAqpfME.net]
本来の仕様・特性を理解しておらず。
メモリに全部読み込んでファイルロックかけちゃえばとか
どっちがアホなんだか
>>296 のようなことをしなければいいだけ

321 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 12:13:38.81 ID:NPkITZNc.net]
> メモリに全部読み込んでファイルロックかけちゃえばとか
日本語の理解力もないのかよ…

322 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 12:20:37.36 ID:OJAqpfME.net]
仕様通りの動作に「仕様を変えるべきだ」というなら「どうぞ、自分で制作しておやりなさい」としか
ディスク上のプロフラムファイルを処理しろと指示しておいて、実行中にプログラムファイル弄る方がバカでしょ?

323 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 12:45:33.27 ID:SnF6bIfm.net]
横から失礼します。
例えば、バッチじゃないけど、
中間コード生成するのは、
インタプリタじゃないの?

324 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 12:53:22.08 ID:NPkITZNc.net]
> ディスク上のプロフラムファイルを処理しろと指示しておいて、実行中にプログラムファイル弄る方がバカでしょ?
うんうん、
> 行内容を変えても反映されないんじゃインタープリターにならない
とか言ってたバカに言ってやれよww

325 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 13:25:39.62 ID:OJAqpfME.net]
>>313
絶望的に頭悪いな
行内容を変えても反映されないんじゃインタープリターにならない
未実行の行内容をにバグ混入させればバグるのは仕様通り。インタープリタだから。
>>299だと行内容変えても帰る前の動作を続けるかファイルが変えられなくなる。

326 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 13:31:06.82 ID:NPkITZNc.net]
> 実行中にプログラムファイル弄る方がバカでしょ?
なのに内容変えたら反映しろとか頭おかしいw
もう自分が何を指摘されてるかもわかってないんだろうな

327 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 14:13:50.98 ID:OJAqpfME.net]
動作がバグらないように行内容をいじる方法もあるからなー
バカには気づけないのかもな

328 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 14:26:59.31 ID:NPkITZNc.net]
しれっと話し変えててウケる~w

329 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 14:27:43.94 ID:ZOT0kh7c.net]
title Win8.1のcmdはPowershellを呼び出すとタイトルが変わってしまう
timeout 5
powershell sleep 5

Powershellを呼び出してもタイトルが変化しない方法ありませんか?



330 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 15:18:42.27 ID:Mj6xLmMK.net]
なんか色々とっちらかってるけど

入力に対して逐次実行を行い内容を出力するための実行エンジンがインタプリタ
まとめて実行する方法がバッチ
バッチを書くための言語の種類がスクリプト
なのでインタプリタ上で動くスクリプトで記述されたバッチが多いのは事実だけど
バッチスクリプトだからって必ずしもインタプリタ上で動作するわけではない

あまり言われることはないけどC言語なんかも手順をまとめて記述するという
意味ではバッチ
そのバッチを効率よく動かすためにハードウェアにネイティブなコードなどに
変換するのがコンパイラ

なので>>312が言うような中間コードを生成するのは処理的にはバッチのコンパイル
C#がやJAVAが典型的だけどバッチとして書かれたスクリプトをコンパイラで
中間コードに変換して.netエンジンとかJAVAエンジンで動かすけど、これらの
エンジンはインタプリタとして作成されているので直接コマンドを逐次実行する
ことも出来るようになっている

インタプリタが何を持って逐次実行の基準にしている(一般的にテキスト入力な
インタプリタはキャリッジリターンだけど)かはインタプリタの実装しだいなので、
バッチの内容がバッチ実行中に書き換わった際に動作が変わる/変わらないって
いうのは実行エンジンがインタプリタであるとかないとか言うのと関係ない

Linuxのシェルスクリプトはshっていうインタプリタで動いてるけど、バッチ
スクリプトは「'(バッククォート)」で囲まれた文字列はコマンドとして実行でき、
文字列は動的に書き換えできるのでバッチファイルを書き換えながらインタプリタで
実行できるバッチスクリプトって言うものも存在する

逆にC#みたいな中間コードを実行するインタプリタシステムは一般的にまとめて
コードを読み込んで実行するので、実行中にファイルを書き換えても読み込まれた
コードが変わるわけではないのでそのまま実行できる

331 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 15:32:56.64 ID:Es9FYwgG.net]
バカの長文ウザい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<294KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef