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/
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] バカの長文ウザい
332 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 16:47:17.04 ID:edODQM35.net] 理解できないときの一行レス乙
333 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 17:04:06.81 ID:l+THgL+v.net] >>321 多分、その通り。 >>320 は、自分以外みんなバカというセンスのかたなのでしょう。 (320著『自分以外みんなバカ』)
334 名前:312 mailto:sage [2019/07/06(土) 17:45:47.25 ID:SnF6bIfm.net] >>319 レスありがとうございました。
335 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 18:13:58.11 ID:yCp3HJnn.net] >>321-322 そりゃ、 > あまり言われることはないけどC言語なんかも手順をまとめて記述するという意味ではバッチ みたいなアホなことを言う奴を理解しろと言われてもなぁw
336 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 18:30:06.42 ID:edODQM35.net] アホとバカは意味がちゃうで
337 名前:デフォルトの名無しさん mailto:sage [2019/07/07(日) 00:42:47.20 ID:YVv/+K6C.net] 貴重なメモリをバッチなんかに使われたくない ましてやファイルハンド
338 名前: or FCBを消費するなんて考えたくもない [] [ここ壊れてます]
339 名前:デフォルトの名無しさん mailto:sage [2019/07/07(日) 17:57:51.72 ID:sK6+FwWI.net] 書いたスクリプトをそのままCMD画面に貼り付けて実行できるのが素晴らしすぎる これもインタープリタゆえのメリット
340 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 22:50:53.76 ID:2IS3Ei7C.net] 指定したURLをIEで開くバッチファイルを作りたいのですが、以下のいずれの書き方でもうまく起動しませんでした。 どのように記述すれば良いのでしょうか? start "" """C:\Program Files\internet explorer\iexplore.exe"" https://www.yahoo.co.jp/" start "" "'C:\Program Files\internet explorer\iexplore.exe' https://www.yahoo.co.jp/" start 'C:\Program Files\internet explorer\iexplore.exe' https://www.yahoo.co.jp/ cmd /c start "" """C:\Program Files\internet explorer\iexplore.exe"" https://www.yahoo.co.jp/" cmd /c start "" "'C:\Program Files\internet explorer\iexplore.exe' https://www.yahoo.co.jp/" cmd /c start 'C:\Program Files\internet explorer\iexplore.exe' https://www.yahoo.co.jp/
341 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 22:52:08.85 ID:2IS3Ei7C.net] ↑書き忘れましたが、IEを起動したらバッチファイル自体はすぐに終了して欲しいです。
342 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 22:58:10.74 ID:t7LU6uHU.net] これで普通に開けたけど start "" "C:\Program Files\internet explorer\iexplore.exe" "https://www.yahoo.co.jp/" exit
343 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 23:41:41.05 ID:2IS3Ei7C.net] >>330 助かりました。ありがとうございます><
344 名前:デフォルトの名無しさん mailto:sage [2019/07/22(月) 20:50:29.11 ID:64jFVFKi.net] 質問です chcp を設定後に日本語テキストファイルを type しても なぜか数行ごとに部分的に文字化けします 正しく表示させる方法はありますか ファイルをコード変換するしかないでしょうか 20932 (EUC-JP) 50220 (JIS) 65000 (UTF-7) 65001 (UTF-8)
345 名前:デフォルトの名無しさん mailto:sage [2019/07/23(火) 00:29:27.63 ID:NmYCCAI2.net] 正常に表示できる部分もあるのか? コマンドプロンプトのフォント設定はレジストリをいじればできるようだが chcp したとしても 各コードに合わせた日本語フォントがないと思う ファイルをコード変換には nkf などを利用すればよい もちろんcp932に変換できない文字がありえる点には注意
346 名前:デフォルトの名無しさん mailto:sage [2019/07/23(火) 01:19:58.32 ID:dqAnc0cb.net] 横から失礼。多分フォントの問題じゃないなあ。再現してみる。 @echo off del a.txt set "a=ああああああああああああああああああああああああああああああああああ" chcp 65001 for /l %%i in (1,1,10) do echo %a% >> a.txt start notepad a.txt type a.txt pause goto :eof
347 名前:デフォルトの名無しさん mailto:sage [2019/07/23(火) 13:00:19.24 ID:dqAnc0cb.net] >>332 typeの代替えバッチ @echo off & set /a b=1 for /f "delims=:" %%i in ('type "%~1" ^| findstr /n /r /c:"^$"') do call :x %%i set /a a%b%=0,b=1,c=1 for /f delims^=^ eol^= %%i in ('type "%~1"') do call :y & echo.%%i goto :eof :x set /a a%b%=%1,b-=-1 & exit /b :y set /a d=a%b% set /a c-=-1 & if %c%==%d% echo.& set /a b-=-1 & goto y 動作文字コードは>>332 の4種類とcp932とBOM付UTF-16LE 内部コマンドのtypeの文字化けの原因は不明 得体の知れないバッチが嫌ならnkfでどうぞ
348 名前:332 mailto:sage [2019/07/23(火) 19:39:52.27 ID:3qcsVE62.net] みなさんレスありがとうございました >>335 のバッチを実行したら正しく表示されました なにか不具合があれば nkf で変換します
349 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 14:25:26.72 ID:KhkfuoHG.net] @ECHO OFF FOR /L %%I IN (1,1,3) DO ( :ラベルの次に空行だと死ぬようだ ECHO %%I ) PAUSE
350 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 23:40:50.69 ID:uv4O1i4q.net] >>337 FOR コマンドの中に単純にラベルを入れるとそうなる。 諦めろ。そういう腐った仕様だ。
351 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 07:12:05.83 ID:e+IGCa9q.net] MSはpowershell作っといてcmdも生殺しのまま
352 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 07:24:42.21 ID:i8+nUA9v.net] 後方互換レガシー用だから
353 名前:デフォルトの名無しさん mailto:sage [2019/08/10(土) 16:26:14.51 ID:O+qo9jJ2.net] ・ループはなるべくラベルgotoで作る ・処理はまとめてCALLで呼び出す と変な仕様に悩まされなくて済む
354 名前:デフォルトの名無しさん mailto:sage [2019/08/12(月) 01:15:40.10 ID:qDWW1IB8.net] >>341 つーか >>337 は FOR コマンドの中に「REM コマンドの代わりとして」ラベルを入れたっぽいよね。 REM コマンドは確かにダサい。クソみたいにダサい。 が、完全な代替手段はないことが今日までの先人たちの研究で分かっている。 「○○な場合正しく動かない」というケースから逃れられない。 素直に REM しとけ、って話なのさ。
355 名前:デフォルトの名無しさん mailto:sage [2019/08/12(月) 01:43:33.99 ID:asx4qCxc.net] >>341 そうですね バッチ作成30年の知恵 バッチ前言語というのをつくり、バッチに変換するツールがあるといいのに
356 名前:デフォルトの名無しさん mailto:sage [2019/08/14(水) 08:17:57.87 ID:2+7gdzMY.net] なぜエラー? @echo off for /l %%i in (1,1,3) do (^ echo %%i ) pause
357 名前:デフォルトの名無しさん mailto:sage [2019/08/14(水) 12:07:08.56 ID:tEu06J9P.net] 空白行があるのがまずいのです。
358 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 07:26:44.38 ID:mKbuBo/x.net] echo onで見るとechoが消えてる for /L %i in (1 1 3) do (%i)
359 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 07:36:02.85 ID:mKbuBo/x.net] 今、気付いたけど for/Lのカウントの区切り文字は半角スペースでもいいんだな
360 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 12:44:36.23 ID:ALsBqyPd.net] なんで"("のあとでエスケープしてるんだ?
361 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 18:55:50.85 ID:8DKeAJZl.net] >>348 エスケープすると長い記述を改行分割できる。 下記なら動くのではと想像 @echo off for /l %%i in (1,1,3) do (^ ^ echo %%i ) pause
362 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 18:58:32.85 ID:8DKeAJZl.net] こうかも。 違いはechoの前の半角スペースの有無 @echo off for /l %%i in (1,1,3) do (^ ^ echo %%i ) pause
363 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 20:14:09.75 ID:bAdklReO.net] >>350 横からだが、だとしても ”(” の直後には不要でしょう わざわざ地雷踏みにいってるとしか思えない
364 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 20:20:13.66 ID:hL4sD0l+.net] >>349 そういうことじゃなく、 そんなところにエスケープさえしなければ動く、ということ 空改行があっても同じ @echo off for /l %%i in (1,1,3) do ( echo %%i ) pause そもそも、エスケープが必要なのは以下のような書き方の場合 @echo off for /l %%i in (1,1,3) ^ do ( echo %%i ) pause
365 名前:デフォルトの名無しさん mailto:sage [2019/08/16(金) 13:12:21.88 ID:nbkgz595.net] 元々^が要らんのは分かるが 何で2行下のechoが消えるんだ?
366 名前:デフォルトの名無しさん mailto:sage [2019/08/16(金) 19:53:07.91 ID:tgbth6lv.net] 何が正解か良く分からないけど「echo」が消えているのではなく 「echo %%i」が実行された結果「%i」って文字列が出力されて いるんじゃないかな
367 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 03:04:11.02 ID:loMKkBUO.net] うん、メッセージを出したかったら、 echo [メッセ−ジ文] だよね。
368 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 07:25:02.72 ID:u1p0gnkJ.net] >>346 を見ろ
369 名前:332 mailto:sage [2019/08/17(土) 18:15:26.70 ID:etNorZr1.net] はろー♪ @echo off (^ rem echo Hello, World!) pause
370 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 21:41:43.17 ID:nWccZbx0.net] >>357 cmd のパーサーが馬鹿なだけ。 そういうトリッキーな小賢しい書き方を探しても誰も幸せになれない。
371 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 23:29:25.24 ID:u1p0gnkJ.net] >>357 そういうのはもういいから
372 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 20:01:18.85 ID:S2+8M2EA.net] C:\Users\hogehoge\AppData\Local\Microsoft\Windows\InetCache にIEのキャッシュファイルがあって、コマンドで削除したいのですが del /f /q C:\Users\hogehoge\AppData\Local\Microsoft\Windows\InetCache\* を管理者権限のコマンドプロンプトで実行しても消えてくれません。 どうすれば消せるのでしょうか? 環境はWin10です。 ちなみに上記の「del /f /q」を「dir」に変えて実行すると、何もファイルが表示されませんでした。
373 名前:エクスプローラでは表示されるのに… [] [ここ壊れてます]
374 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 20:06:19.31 ID:WpfDQiIq.net] まずは対象ファイルの属性を確認かな
375 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 20:39:45.13 ID:WpfDQiIq.net] ここに詳しく書いてある https://freesoft.tvbok.com/web/ie/ie11ie10webcache.html
376 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 17:07:15.01 ID:C82bQLaF.net] 任意のテキストファイルの各行(1〜N)を、 変数のARRAY[1〜N]にそのまま代入できますか? テキストは空行あり、文字化けは無しで。
377 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 18:13:13.64 ID:C82bQLaF.net] すみません N行は指定じゃなくて全行です
378 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 19:43:28.54 ID:hATE1ff9.net] >>363 確認の表示が不要なら消してくれ @echo off & set /A N=0 & if "%~1"==":GETS" goto GETS for /F "delims=" %%I in ('call "%~0" ":GETS" "%~1"') do ( set /A N+=1 & set %%I) setlocal enabledelayedexpansion for /L %%I in (1,1,%N%) do echo ARRAY[%%I]=!ARRAY[%%I]! goto :eof :GETS set o="tokens=* delims=0123456789" for /F %o% %%I in ('findstr /N "^" "%~2"') do ( set /A N+=1 & set s=%%I setlocal enabledelayedexpansion echo ARRAY[!N!]=!s:~1! endlocal)
379 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 20:46:06.08 ID:C82bQLaF.net] >>365 ありがとうございました シフトJISで動作しました
380 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 00:24:30.62 ID:dLbvCDhA.net] 発見 call は遅い 自バッチ内であっても繰り返しの中では使わないほうがよい
381 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 02:06:06.88 ID:KhyCGx+x.net] それは分かる 何かいい方法が有ったら書いてくれ
382 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 07:34:22.10 ID:KhyCGx+x.net] ループの中では、call setも遅いな call先はバッチが基本なので %path%のフォルダ内にset.batが存在しないか ループの中で毎回、無駄に検索して時間のロスに
383 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 13:05:56.96 ID:4qIvp+ND.net] フルパスか相対パスで書けばいいのに
384 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 15:06:36.69 ID:ny+pXiR9.net] クリーンに再実装しようとしてもうまく行かないし、Windows Terminalのオプソ化に期待
385 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 21:47:05.78 ID:KhyCGx+x.net] 内部コマンドsetにフルパス?
386 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 21:00:42.57 ID:Syn6UaDZ.net] ポータブルデバイスにフォルダ移動したいのですがどのコマンドを使えばよろしいのでしょうか? 宜しくお願いします。
387 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 07:27:23.31 ID:zCU+H1xg.net] robocopy
388 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 22:10:15.94 ID:zS9nLp3S.net] >>374 回答ありがとございます。 試してみましたがうまくいきませんでした。
389 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 17:48:14.75 ID:W0BHkkEI.net] そのポータブルデバイスとやらのスレで聞け
390 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 19:33:15.60 ID:UaiZGsoz.net] >>373 MTP接続しているデバイスにbatでフォルダ移動したいということ?
391 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 21:49:07.77 ID:oZTJ7ty8.net] >>377 MTP接続しているデバイスの端末(スマホ)のフォルダをCドライブにコピーしたいのです。 何度もありがとございます。
392 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 18:54:32.90 ID:YblgUZDU.net] >>378 MTPにWindowsからアクセスする場合にはWDP (Windows Portable Device)という 仕組みを使ってアクセスする必要があるらしいのでPowerShellとかVBSみたいな COMオブジェクトに対応しているスクリプト言語を使うかプログラミングしないと 無理みたいだけど
393 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 20:53:45.43 ID:C2+cwByF.net] >>379 なるほどコマンドだけでは出来ないのですね。ありがとうございました。
394 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 21:22:16.17 ID:CafmkPOq.net] mtpじゃなくftp使えばいいんじゃない
395 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 23:15:32.97 ID:Va/jwPX
] [ここ壊れてます]
396 名前:C.net mailto: スレチだけど、横から失礼。 今USBで繋いだスマホのファイルをPCのexplorerで見てたら、 どうしても表示されないファイルが一部あるんだよ。 表示を更新してもダメだ。何なんだろ、これ。 スマホ側でzipに圧縮したら転送できたんだが。 [] [ここ壊れてます]
397 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 09:52:34.32 ID:obXFPJy6.net] >>382 MTPは本来画像とか音声とか映像ファイルを共有するための規格なんだけど それでは不便なので実装者が拡張して他のファイルも見えるようにしているらしい でWindowsのexplorerで削除できないファイルってのは何種類かあるけど表示 できないってのは覚えがないのでスマホ側の実装の問題じゃないかな
398 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 11:24:33.96 ID:aqL81KxG.net] >>383 スマホのandroidがおかしいのかも explorerでコピペしたら 全数処理できてるか要確認ですね
399 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 12:19:59.86 ID:Zmbs8cMB.net] >>382 メディアストレージのDBが壊れてるか更新されてないだけでは?
400 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 12:39:19.92 ID:aqL81KxG.net] >>385 zip圧縮後、繋ぎ直したらzipは表示されたが元ファイルは非表示、 なので更新というより壊れてたみたいね
401 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 23:40:04.00 ID:bVn3Z6J/.net] >>378 Android Debug Bridge(adb)を使用してはどうでしょうか? https://developer.android.com/studio/command-line/adb.html?hl=ja#copyfiles 例)adb pull remote local ただしワイルドカードが使用できないので工夫が必要かも
402 名前:デフォルトの名無しさん mailto:sage [2019/09/22(日) 06:16:16.89 ID:9I7oEjtC.net] そもそもAndroidなのか?
403 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 04:39:39.37 ID:LINEF6Ks.net] >>387 adbを使用したらうまくいきました。 ありがとうございました。
404 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 22:20:01.40 ID:vtcCH4Ws.net] vbsスクリプト使用者に対話型でURLを入力させようと思い inputboxを使用していましたが254文字以降は切り捨てられるようで 切り捨てられた場合にcmdを呼んでコマンドプロンプトで TYPE CONで入力させ標準出力からとろうと思いました。 コマンドプロンプトから TYPE CON で文字入力していくと510文字しか打てません COPY CON で文字入力していく場合も510文字しか打てません ただこちらは改行して2回目以降の文字入力は254文字までしか打てません コマンドプロンプトはwindowsの仕様だともっと入力できたはずだと思うんですけど TYPE COPYコマンドが原因なのでしょうか? 上限が512-2 256-2なのが気になります
405 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 22:57:55.77 ID:co/wCjS7.net] >>390 set /p var で入力すると1023文字入力できるみたい
406 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 23:08:42.31 ID:vtcCH4Ws.net] >>391 ありがとうございます 環境変数に突っ込んでそっちからとる案ってことですね
407 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 23:19:31.66 ID:co/wCjS7.net] 標準出力がいいなら echo %var% を最後に付けとけばうまくいかないかな?
408 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 23:41:17.62 ID:vtcCH4Ws.net] いえVBSで環境変数からでも取れるんでどちらでもいいんですが この方法は毎回ファイル書き込みはいるのなら避けたいですね
409 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 06:03:26.81 ID:qiM7wE73.net] >>390 findstr ^^ ではどうですか? 入力の最後は改行とCtrl+Z 8000文字は入ったが、それ以上は試していない
410 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 19:45:19.23 ID:+nOn2TPH.net] >>395 ありがとうございます。たしかにfindstr ^^ 試すと長く入力できますね ただスクリプトが動く動きません(type con copy con以外) たぶんexecで標準入出力を横取りしてるからなのかなと思ったんですけどならtype conはなぜ動くのかという気もします //Prompt.vbs
411 名前: Function Prompt(Text,Default) WScript.Echo(Text) Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.exec("cmd /c title " & Replace(Replace(Text,vbCr,""),vbLf,"") & " && type con") 'Set oExec = WshShell.exec("cmd /c findstr ^^") Prompt = oExec.stdout.ReadLine() oExec.terminate End Function msgbox Prompt("test dayo","") [] [ここ壊れてます]
412 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 20:43:23.90 ID:jymbX9V4.net] cmdじゃないけど powershell -Command $a=read-host; write-host $a とかどうよ
413 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 21:20:07.70 ID:+nOn2TPH.net] powershellもちょっと試してたんですけどこっちもキーボード入力がはいってるように見えないです powershellはcommand移行の注釈がいまいちわからなくてそれが原因なのかなとも思ったんですけど (""の場合は前に&をつけるとかどうとか) Function Prompt(Text,Default) WScript.Echo(Text) Set WshShell = CreateObject("WScript.Shell") 'Set oExec = WshShell.exec("cmd /c title " & Replace(Replace(Text,vbCr,""),vbLf,"") & " && type con") 'Set oExec = WshShell.exec("cmd /c findstr ^^") Set oExec = WshShell.exec("powershell -NoExit -NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command $a=read-host; write-host $a") Prompt = oExec.stdout.ReadLine() oExec.terminate End Function msgbox Prompt("test dayo","")
414 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 05:33:06.84 ID:igWxDR2f.net] >>398 いまいちVB.NETがどういう環境で使えるのか分からないし PowerShellの実行を許可してない環境でも動くのかも分からないが VB.NETのinputboxには256文字の入力制限が無い模様 Function Prompt(Text,Default) WScript.Echo(Text) Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.exec("powershell -NoProfile -ExecutionPolicy Unrestricted -C add-type -AssemblyName microsoft.VisualBasic; [Microsoft.VisualBasic.Interaction]::InputBox('URLを入力してください', 'URL入力');") Prompt = oExec.stdout.ReadLine() End Function 'msgbox Prompt("test dayo","") WScript.Echo Prompt("test dayo","")
415 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 06:57:13.54 ID:2Xve1BBy.net] >>396 良く分からんが、こんなのでどうですかね? -------foo.bat @findstr ^^ < con -------Prompt.vbs Function Prompt(Text,Default) WScript.Echo(Text) Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.exec("foo.bat") Prompt = oExec.stdout.ReadLine() oExec.terminate End Function msgbox Prompt("test dayo","")
416 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 08:44:14.07 ID:2Xve1BBy.net] バッチ不要だな Set oExec = WshShell.exec("cmd /c findstr /R . < con") 最後に1023文字しか表示されないなReadLineのせいか?
417 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 12:18:00.19 ID:mgLzdBVB.net] ありがとうございます Function Prompt(Text,Default) WScript.Echo(Text) Set WshShell = CreateObject("WScript.Shell") 'Set oExec = WshShell.exec("cmd /c title " & Replace(Replace(Text,vbCr,""),vbLf,"") & " && type con") Set oExec = WshShell.exec("cmd /c cmd /c findstr /R . < con") Prompt = oExec.stdout.ReadLine() oExec.terminate End Function msgbox LEN(Prompt("test dayo","")) でやると8190でるのでmsgboxの表示制限っぽいです 上限が512から8190まで増えました♪
418 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 12:44:51.20 ID:2Xve1BBy.net] それは良かった ところで cmd /c cmd /c と2重になってるのは何か意味が?
419 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 12:49:02.43 ID:mgLzdBVB.net] 単なるミスですw
420 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 20:33:36.96 ID:igWxDR2f.net] >>402 HTAで作るって方向は無いのかな? WScriptオブジェクトは使えないけど、IEと違ってローカル処理はできるよ 全部HTAにするのが面倒ならUI部分をHTAで作って そこから、各々vbsを起動するようにするとか サンプル www.42ch.net/UploaderSmall/source/1570156236.zip
421 名前:デフォルトの名無しさん mailto:sage [2019/10/05(土) 07:49:09.72 ID:XliNsfqD.net] ありがとうございます HTAも便利そうですね アドレスバー,リンクをドラッグドロップで取り込めるのがいいなと