[表示 : 全て 最新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/

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も便利そうですね
アドレスバー,リンクをドラッグドロップで取り込めるのがいいなと

422 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 16:39:36.79 ID:/M5l0Sli.net]
そういやHTAはHighDPI対応してないのかな
サーフェスで苦労した覚えが

423 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 19:08:15.06 ID:tUBbtl1D.net]
文字列の画面表示の桁数はバッチで取得できますか?
半角1で全角2での合計みたいな

424 名前:デフォルトの名無しさん mailto:sage [2019/10/10(木) 19:46:16.73 ID:NVkes/cJ.net]
>>408

@echo off & if "%~1"=="1" goto x
set c=call "%~0" 1 ^^^| findstr /o /r .*
set o="skip=1 delims=:" & set /p s=文字列=
for /f %o% %%i in ('%c%') do set /a b=%%i-2
echo 桁数=

425 名前: %b% & pause & goto :eof
:x
setlocal enabledelayedexpansion
echo.!s!
echo.

入力はシフトJISで表示できる文字のみです。
CP932で正常に動作します。たぶん。
[]
[ここ壊れてます]

426 名前:デフォルトの名無しさん mailto:sage [2019/10/10(木) 23:42:47.50 ID:T8I5o9Ey.net]
mode con かも

427 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 07:29:52.81 ID:D9aa0x5a.net]
>>409,>>410
ありがとうございました!
コードページは932でしたので問題ないです
これで複数のデータを右詰めで揃えて表示できました
タブ入りだと表示がズレますが自分で対処します

428 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 19:14:42.75 ID:MUFbi2Ng.net]
特定の2つのフォルダ内を一括削除するbatの作り方がわかりません…。
1つだけならば出来るのですが2つ指定するにはどうすればいいのでしょうか 
お願いします

429 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 19:26:30.68 ID:sHZx2IDB.net]
1行目にAフォルダを削除
次の行にBフォルダを削除でいいんじゃないの?

1行に書きたければ

複数のコマンドを続けて実行する
https://www.adminweb.jp/command/action/index1.html



430 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 19:28:12.11 ID:DNcfAKqA.net]
2回やるbatを作ればいいのでは?

431 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 19:29:32.93 ID:DNcfAKqA.net]
あ、かぶってしまった

432 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 22:56:14.67 ID:ZkRket+3.net]
for %%I in ( C:\AAA C:\BBB ) do del /Q %%I\*.*

433 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 23:57:13.31 ID:uNKAmOCu.net]
for /f %%i in ('dir /b^|find "foo"') do pause

fooが無かった場合pauseしてくれないのですが解決策ありませんか?
実際はfooの有無で分岐させるのですがとりあえずpauseで書いてます

434 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 00:21:50.04 ID:nJ40H8MU.net]
>>417
(for /f %%i in ('dir /b^|find "foo"') do pause) || pause

435 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 00:29:35.02 ID:lUUAms6Y.net]
>>418
ありがとう、できたらfor内で分岐したい…

436 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 00:34:28.69 ID:nJ40H8MU.net]
forのループは条件が一致しないとすり抜けて
1回も通らないで次のステートメントにいっちゃうから無理
無理矢理やろうとすると、ダミー項目を与えて必ず一度はforループを実行するようにして
その中でダミー項目だったら〜と条件判定することになる

437 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 00:43:02.67 ID:nJ40H8MU.net]
こんな感じ
for /f %%i in ('dir /b^|find "foo"^|^|echo none') do (if "%%i" equ "none" echo ありません)

438 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 00:49:42.45 ID:nJ40H8MU.net]
俺としては>>418の方が見やすくて間違いが少なくて済むと思う

439 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 01:05:43.14 ID:lUUAms6Y.net]
なるほど||つかう手もあるんですね
for入れ子にしてるから||でいきますありがとう



440 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 01:26:01.92 ID:nJ40H8MU.net]
forの後で、%errorlevel%で判断できるかと思ったけど
forのコマンドは子タスクで実行されるから環境を親タスクに引き継がないんだね
こういうことはパイプの右側でも起きるけど

441 名前: mailto:sage [2019/10/19(Sat) 07:15:14 ID:azMLqhGk.net]
for /f "delims=" %%i in ('dir/b *foo* 2^>nul ^|^| echo *') do (
if "%%~i"=="*" (echo ないよ) else echo %%i
)

442 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 07:21:20.34 ID:bUbbfXYV.net]
for /f "delims=" %%i in ('"dir/b *foo* 2>&1"') do if not exist %%i echo %%i

443 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 18:09:26.80 ID:8RixcIVS.net]
なんか古代呪文を撃ちあってるみたい(^_^;)

444 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 21:05:31.60 ID:Sv6Oxatw.net]
そう、実は、古代語魔術(ハイエンシェント)を打ち合っているのです。
スレ違いだけれど、

魔法の使い方
https://eman-physics.net/columns/magic.html

を、思い出した。

445 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:05:11 ID:nEQALG6h.net]
ザイログニーモニックは忘れた

446 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 23:09:34.31 ID:jiuE9ZBi.net]
詠唱せよ

447 名前:デフォルトの名無しさん [2019/10/27(日) 14:29:49.16 ID:Lik42TLZ.net]
cmd.exe /c start ってネットワークドライブのファイル開けないんでしたっけ?

cmd.exe /c start t:\test.txt ってやると
アクセスが拒否されました。って表示される。c:\以下なら大丈夫

cmd.exe /c start file:\\t:\test.txt ってやれば開けるからいいんだけど

448 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 19:40:17.02 ID:n+Gkmfbl.net]
cmd /c start t:\test.txt

start t:\test.txt
の違いは?

449 名前:デフォルトの名無しさん [2019/10/27(日) 19:45:47.81 ID:QHyOIS3t.net]
startが内部コマンド



450 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 19:54:44.57 ID:n+Gkmfbl.net]
なんで cmd /c が必要?

451 名前:デフォルトの名無しさん [2019/10/27(日) 22:46:50.23 ID:8uvk7ayg.net]
>>434
ぐぐれかす

452 名前:蟻人間 mailto:sage [2019/10/27(日) 23:17:38.75 ID:cNZwDfUU.net]
>>434
内部コマンドは実行可能なモジュールではなく、cmd内部でのみ実行可能だから。
内部コマンドはcmdで解釈・実行される。

453 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 01:22:07 ID:YqbFbBrf.net]
>>434
バッチでは cmd /c は不要ですね。
cmd /c があれば子プロセスになります。
どっちも結果は同じ。エディタが起動します。
「ファイル名を指定して実行」の入力なら、
cmd /c start は不要かと思います。
でも、あっても間違いではないです。

454 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 02:10:13 ID:t0sY5Haq.net]
そんなこと聞いてないから、>>431に答えてくれ

455 名前:438 mailto:sage [2019/10/28(月) 02:18:17.09 ID:bqlyCkZ6.net]
ネットワークフォルダをドライブに割り当てた問題かと思えば
関係なさそうだ。でも不思議だ

cmd.exe /c start \\server\folder だとフォルダが開ける
cmd.exe /c start \\server\folder\subfolder でも問題ない

cmd.exe /c start \\server\folder\test.txt だとアクセスが拒否される
でもエクスプローラーのアドレスバーに ↑ を入れるとメモ帳で開ける

456 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 03:05:07.76 ID:ML+fUsJB.net]
管理者権限でやってみては?

457 名前:438 mailto:sage [2019/10/28(月) 03:54:57.58 ID:bqlyCkZ6.net]
アクセスが拒否されました

458 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 07:04:53 ID:YqbFbBrf.net]
>>438 すみません。私には分かりません。
cmd/c を省略、 さらに start を省略しても同じアクセス拒否ですか?

459 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 08:16:04.60 ID:kjzN6NI8.net]
>>439
>cmd.exe /c start \\server\folder\test.txt だとアクセスが拒否される
>でもエクスプローラーのアドレスバーに ↑ を入れるとメモ帳で開ける

このコマンドには、メモ帳を起動すると書いていないから、起動できないだろ

拡張子から、起動するアプリを取得できないだろ?

そういう情報は、レジストリに入っているから、
バッチファイルから、そこへアクセスできるか?



460 名前:443 mailto:sage [2019/10/28(月) 08:20:10.88 ID:kjzN6NI8.net]
普通に「notepad パス付きファイル名」なら、起動できるだろ?

461 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 07:53:25 ID:SHkVBveq.net]
>>439
エクスプローラーのバーに書くのも cmd/c start は要らんぞ

462 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 11:55:42.58 ID:w4Uxvw1j.net]
>>443
バッチからでも関連付け起動できるぞ

463 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 12:51:26.56 ID:SHkVBveq.net]
file:\\C:\Program Files (x86)\TeraPad\TeraPad.exe


>>446
>>443 は.txtの関連付けはメモ帳とは限らんと言ってる


notepad.exe がネットワークドライブのファイル名を処理できるかは知らんが
notepad file:\\t:\test.txt
みたいなのではダメだろうな
start file:\\t:\test.txt
なら良さそうだが

464 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 12:53:59.00 ID:SHkVBveq.net]
ああ1行目にゴミが付いたw 無視してくれ

465 名前:デフォルトの名無しさん [2019/10/29(火) 13:09:40.06 ID:YQKoC2Uo.net]
コマンドプロンプトの文字コードがよくわからん。
なんでchcp 932なのにUnicodeが表示できてるんだ?
chcpの設定とは無関係に画面はUnicodeで変換してるんか?

466 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 13:26:49.20 ID:SHkVBveq.net]
バッチはSJIS
リダイレクトするとSJIS
画面はユニコード
set はユニコード特有文字でも入る(cmd画面で入力なら)
cmdの内部処理はユニコード

467 名前:デフォルトの名無しさん [2019/10/29(火) 13:34:20.85 ID:spBBwL/I.net]
Unicodeはいいが文字コードは何なんだ?
UTF-8なのか?UTF-16なのか?

468 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 13:37:09.01 ID:SHkVBveq.net]
16

469 名前:デフォルトの名無しさん [2019/10/29(火) 13:40:11.15 ID:spBBwL/I.net]
>>452
と思うやろ?

typeコマンドは文字コード変換してるかもしれんなと思って
copy ファイル名 CON なら、そのまんま表示されるだろうと
思ってやってみたら、

UTF-8は問題なく表示されて、UTF-16は文字化けしてるんだよ。
Windows 10で仕様でも変わったんか?



470 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 13:47:51.80 ID:SHkVBveq.net]
変わらず
後は自分で調べろ

471 名前:デフォルトの名無しさん [2019/10/29(火) 13:53:47.92 ID:spBBwL/I.net]
わからんのかーいw

472 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 14:01:37.87 ID:SHkVBveq.net]
図に乗るな

473 名前:デフォルトの名無しさん [2019/10/29(火) 14:15:50.84 ID:spBBwL/I.net]
やっぱり仕様が変わってた。

Windows 7だとchcp 932の時、
copy test.txt CON で正しく表示できるのはShiftJISだけ
UTF-8でもUTF-16LEでも文字化けする。

Windows 10だと逆に、UTF-8(BOMなし)、UTF-16LEは
正しく表示できるが、ShiftJISは文字化けする。

474 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 14:23:41.56 ID:SHkVBveq.net]
そうなのか
でも内部が16だと思うが
分からん

475 名前:デフォルトの名無しさん [2019/10/29(火) 14:27:54.02 ID:spBBwL/I.net]
Windows 7でもdirコマンドでShiftJISにない文字は表示できてるから
最終的にはUnicodeなんだろう(おそらくUTF16だと思うが)
その途中になんかあるんだろうな。

Windows 10でcopy CONつかってるのに、UTF-8とUTF-16の両方が
文字化けしないのが不思議だ・・・って思ったら、
あれ?UTF-16文字化けしてた。んん?間違ってtypeで表示してたか。
これなら理解できる。

476 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 14:44:03.37 ID:XkpxJQc3.net]
>>457
いつのWindows10だね?

477 名前:デフォルトの名無しさん [2019/10/29(火) 14:52:33.20 ID:spBBwL/I.net]
>>460
今の最新の公式リリース

478 名前:デフォルトの名無しさん [2019/10/29(火) 14:56:43.68 ID:spBBwL/I.net]
なんかわかりづらくなったので再掲

copy test.txt CONで検証

Windows7、chcp 932・・・text.txt が ShiftJIS だと正しく表示される
Windows10、chcp 932・・・text.txt が UTF-8(BOMなし) だと正しく表示される

479 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 16:52:33.42 ID:spBBwL/I.net]
なんかいろいろ勘違いしてたっぽい
copy CONつかってもどこかの誰かが変換かましてるっぽい

こんな漢字でバイナリ直接吐き出したら、chcp 932ではSJISしか正しく表示されなかった。
chcp 65001にしたらUTF8だけ
Windows 10でだけど、たぶんWindows 7でも同じじゃないかな?

#include <iostream>
int main()
{
unsigned char str[] = { 0xE6, 0xBC, 0xA2, 0xE5, 0xAD, 0x97, 0xE2, 0x9D, 0xA4 };
std::cout.write((char*)&str, sizeof(str));
}



480 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 17:46:22.44 ID:4a4kNF+Q.net]
一つわかった気がする。

コマンドプロンプトはUnicode対応してるけどバッチファイルはUnicode対応じゃないんだ。
(正確にはchcp 65001を実行すれば、UTF-8のバッチファイルを実行できる)

だからchcp 932のままコマンドプロンプトでUnicode文字を使うことができるけど
バッチファイルにするとそれができない。

481 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 17:46:59.43 ID:wQOUEDyj.net]
テキストストリームだけしか通さないから何らかの変換が入ってるのかも知れないね
copy /b hoge.txt con
指定されたデバイスに書き込めません。
0 個のファイルをコピーしました。






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

前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