拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう
過去スレ
%13 http://mevius.2ch.net/test/read.cgi/tech/1542779527/
%12 http://mevius.2ch.net/test/read.cgi/tech/1489207631/
%11 http://echo.2ch.net/test/read.cgi/tech/1424858999/
%10 http://peace.2ch.net/test/read.cgi/tech/1374205515/
%9 http://toro.2ch.net/test/read.cgi/tech/1335015478/
%8 http://toro.2ch.net/test/read.cgi/tech/1315844420/
%7 http://hibari.2ch.net/test/read.cgi/tech/1298873550/
%6 http://hibari.2ch.net/test/read.cgi/tech/1277465356/
%5 http://pc12.2ch.net/test/read.cgi/tech/1242268171/
%4 http://pc12.2ch.net/test/read.cgi/tech/1229955189/
%3 http://pc11.2ch.net/test/read.cgi/tech/1217860043/
%2 http://pc11.2ch.net/test/read.cgi/tech/1197881068/
【.cmd】 バッチファイルスクリプト %1 【.bat】
http://pc11.2ch.net/test/read.cgi/tech/1178281991/
バッチファイルプログラミング 3.bat
http://pc11.2ch.net/test/read.cgi/tech/1148485555/
バッチファイルプログラミング 2.bat
http://pc8.2ch.net/test/read.cgi/tech/1104911889/
バッチファイルプログラミング質問スレ
http://pc5.2ch.net/test/read.cgi/tech/1040614686/
探検
【.cmd】 バッチファイルスクリプト %14 【.bat】
レス数が1000を超えています。これ以上書き込みはできません。
2020/08/15(土) 07:00:26.64ID:f3kW5kCx
2020/08/15(土) 07:38:40.18ID:sYOUYcTP
Swiss File Knife
https://www.freewarefiles.com/Swiss-File-Knife_program_39649.html
http://stahlworks.com/dev/swiss-file-knife.html
ちょっと試したけど使い勝手が良い
https://www.freewarefiles.com/Swiss-File-Knife_program_39649.html
http://stahlworks.com/dev/swiss-file-knife.html
ちょっと試したけど使い勝手が良い
2020/08/15(土) 16:03:49.79ID:YDp7CJXQ
startコマンドでコマンドを実行がエラーになった時にerrorlevelで戻り値確認すると9020になっている。
/wait付けても付けなくても同じ。
これが正しいのかよくわからん
/wait付けても付けなくても同じ。
これが正しいのかよくわからん
2020/08/15(土) 23:16:48.97ID:vVgO0BR5
2020/08/16(日) 07:47:08.35ID:A8ymKSpp
そういう結果にはならんなー
(verify offはerrorlevelを0にセット、verify xxxはerrorlevelを1にセットする)
C:\>verify off
C:\>start xxx
ファイル xxx が見つかりません。
C:\>echo %errorlevel%
9059
C:\>verify off
C:\>start /wait xxx
ファイル xxx が見つかりません。
C:\>echo %errorlevel%
9059
C:\>verify off
C:\>start cmd /c verify xxx
C:\>echo %errorlevel%
0
C:\>verify off
C:\>start /wait cmd /c verify xxx
C:\>echo %errorlevel%
1
startやstart /wait自体が失敗したら9059
startが成功したら0
start /waitが成功したら、実行したコマンドの戻り値を返す
(verify offはerrorlevelを0にセット、verify xxxはerrorlevelを1にセットする)
C:\>verify off
C:\>start xxx
ファイル xxx が見つかりません。
C:\>echo %errorlevel%
9059
C:\>verify off
C:\>start /wait xxx
ファイル xxx が見つかりません。
C:\>echo %errorlevel%
9059
C:\>verify off
C:\>start cmd /c verify xxx
C:\>echo %errorlevel%
0
C:\>verify off
C:\>start /wait cmd /c verify xxx
C:\>echo %errorlevel%
1
startやstart /wait自体が失敗したら9059
startが成功したら0
start /waitが成功したら、実行したコマンドの戻り値を返す
63
2020/08/16(日) 09:57:56.96ID:+xZknRBW >>5
そうそうそう。
9020と9059の違いはありますが、
起動か失敗するコマンドは独自に実行するとOSから別のエラーコード(起動失敗の直接の原因となったエラー)が返ってきますが、
それがstartコマンドから実行すると(自分の場合は)9020になって本来のエラーコードがわからないって事です。
そうそうそう。
9020と9059の違いはありますが、
起動か失敗するコマンドは独自に実行するとOSから別のエラーコード(起動失敗の直接の原因となったエラー)が返ってきますが、
それがstartコマンドから実行すると(自分の場合は)9020になって本来のエラーコードがわからないって事です。
2020/08/16(日) 10:40:25.72ID:O0yhKyc9
start /wait
cmd /k
使い方
cmd /k
使い方
2020/08/16(日) 10:54:36.31ID:7Iew54RL
コマンドは何よ?
2020/08/16(日) 18:45:13.11ID:5bX3HnFK
話変わるけど、括弧で結果が変わるのはなんで?
>color 00 & echo %errorlevel%
0
>(color 00) & echo %errorlevel%
1
>color 00 & echo %errorlevel%
0
>(color 00) & echo %errorlevel%
1
10デフォルトの名無しさん
2020/08/16(日) 19:20:31.36ID:Nztll5gc2020/08/16(日) 19:28:17.47ID:5bX3HnFK
2020/08/16(日) 19:29:38.18ID:vTgpRfn/
2度目のはerrorlevelを0にして試してないのでは?
&でつなぐと forの中の %変数% と同じで反映されない
試してないけど遅延展開有効にして!errorlevel!とすれば多分大丈夫
()は関係無い
&でつなぐと forの中の %変数% と同じで反映されない
試してないけど遅延展開有効にして!errorlevel!とすれば多分大丈夫
()は関係無い
2020/08/16(日) 19:36:49.54ID:5bX3HnFK
あらかじめ set errorlevel=0 にすると
両方とも 0 になる。
両方とも 0 になる。
2020/08/16(日) 19:42:36.63ID:vTgpRfn/
set errolevel=値 したらsetした環境変数が優先されerrorlevel自動代入の機能は死ぬ
set errolevel=
で消せば元に戻る
set errolevel=
で消せば元に戻る
2020/08/16(日) 19:51:04.53ID:5bX3HnFK
あらかじめ set errorlevel= にすると
>>9 のようになる
>>9 のようになる
2020/08/16(日) 20:09:12.98ID:vTgpRfn/
pushd .
color 00 & echo %errorlevel%
pushd .
(color 00) & echo %errorlevel%
てしてみ?両方0になるから
2回目の1は1回目のエラーが表示されてる
%変数%の展開のタイミングは構文の評価時なのでそうなる
color 00 & echo %errorlevel%
pushd .
(color 00) & echo %errorlevel%
てしてみ?両方0になるから
2回目の1は1回目のエラーが表示されてる
%変数%の展開のタイミングは構文の評価時なのでそうなる
2020/08/16(日) 20:17:16.41ID:A8ymKSpp
>color 00 & echo %errorlevel%
これはcolor 00 & echo %errorlevel%を実行する直前のerrorlevelが表示される。
color 00の実行結果を知りたければ&でつながずに2回に分けて実行しなければならない。
>color 00
>echo %errorlevel%
あるいはcmd /v:onで遅延展開を有効にしてから
>color 00 & echo !errorlevel!
これはcolor 00 & echo %errorlevel%を実行する直前のerrorlevelが表示される。
color 00の実行結果を知りたければ&でつながずに2回に分けて実行しなければならない。
>color 00
>echo %errorlevel%
あるいはcmd /v:onで遅延展開を有効にしてから
>color 00 & echo !errorlevel!
2020/08/16(日) 20:29:56.33ID:5bX3HnFK
>>16 ありがとう。括弧は無関係ですね
set errorlevel= だと初期化されないのか
set errorlevel= だと初期化されないのか
2020/08/16(日) 20:39:32.90ID:vTgpRfn/
この「構文評価時に展開される」というロジックを使って環境変数を配列のように使えたりする
for /l %%i in (1,1,5) do set A%%i=%%i
for /l %%i in (1,1,5) do echo %%A%%i%%
for /l %%i in (1,1,5) do call echo %%A%%i%%
pause
for /l %%i in (1,1,5) do set A%%i=%%i
for /l %%i in (1,1,5) do echo %%A%%i%%
for /l %%i in (1,1,5) do call echo %%A%%i%%
pause
2020/08/16(日) 21:37:34.66ID:vTgpRfn/
set errorlevel=値 とsetした時とそうでない時の %errorlevel% は別物
%time% %date% も同じく
ビルトイン特殊環境変数 みたいな感じ
参照出来るけど環境変数としては存在しない
だから set e とか set d とかしても表示されない。環境変数ではないから
set t は tmp temp が表示されるはず
これらは set で同名の環境変数名を設定するとそちらが優先されビルトインの方は参照出来なくなる
環境変数に設定した場合は環境変数を消去するとビルトインの方を参照する
set time=0
echo %time%
set time=
echo %time%
echo はONです。とはならない
%time% %date% も同じく
ビルトイン特殊環境変数 みたいな感じ
参照出来るけど環境変数としては存在しない
だから set e とか set d とかしても表示されない。環境変数ではないから
set t は tmp temp が表示されるはず
これらは set で同名の環境変数名を設定するとそちらが優先されビルトインの方は参照出来なくなる
環境変数に設定した場合は環境変数を消去するとビルトインの方を参照する
set time=0
echo %time%
set time=
echo %time%
echo はONです。とはならない
2020/08/17(月) 07:53:31.79ID:hOPUdkb9
%cd% も
他に何かあったっけ?
他に何かあったっけ?
2020/08/17(月) 08:21:28.65ID:hOPUdkb9
cd
cmdcmdline
cmdextversion
date
errorlevel
highestnumanodenumber
random
time
cmdcmdline
cmdextversion
date
errorlevel
highestnumanodenumber
random
time
23デフォルトの名無しさん
2020/08/17(月) 11:49:09.93ID:0uhm6UU6 if errorlevel 0 goto err
2020/08/17(月) 12:25:18.44ID:Md0hBahZ
後藤は極力使わない
2020/08/17(月) 18:56:48.99ID:hmt9CL+F
2020/08/17(月) 19:02:26.61ID:hmt9CL+F
echo %=ExitCode%
2020/08/17(月) 19:16:51.03ID:hmt9CL+F
ダメだな exit にしか使えんな
2020/08/22(土) 16:25:23.98ID:WW0Ct525
for %a in (a bb あ 冬 円 止 梅 十 申) do echo [%a]| findstr /r /c:"\[[^×][^×]*\]" && echo %a ok || echo %a ng
5cは大丈夫なのに7eがダメ
for %a in (a bb あ 冬 円 止 梅 十 申) do echo [%a]| findstr /r /c:"\[.\]" && echo %a ok || echo %a ng
findstrの正規表現の"."て1文字では無く1byteなんだな。これにも躓いた
5cは大丈夫なのに7eがダメ
for %a in (a bb あ 冬 円 止 梅 十 申) do echo [%a]| findstr /r /c:"\[.\]" && echo %a ok || echo %a ng
findstrの正規表現の"."て1文字では無く1byteなんだな。これにも躓いた
2020/08/22(土) 20:54:30.27ID:ZT5qbO53
以前から findstr は全角が絡むと挙動不審になる
>echo A | findstr /r /c:"[ア]"
A
>echo A | findstr /r /c:"[ア]"
A
2020/08/23(日) 00:55:18.89ID:W2kjoCYK
echo 陰|findstr /r /c:"[ア]"
陰
echo 陰|findstr /r /c:"A"
陰
"[ア]"は"0x8341" では無く、"0x83","0x41" の文字集合扱いってことみたいだね
"."の扱いもそうだし1byteでしかみてないの確定か。酷い
とするとほぼリテラルでしか使えないな
日本語文章のファイルからアルファベットが含まれる行を抜き出そうとして"[A-z]"とかしても関係無い行だらけになりそうだ
陰
echo 陰|findstr /r /c:"A"
陰
"[ア]"は"0x8341" では無く、"0x83","0x41" の文字集合扱いってことみたいだね
"."の扱いもそうだし1byteでしかみてないの確定か。酷い
とするとほぼリテラルでしか使えないな
日本語文章のファイルからアルファベットが含まれる行を抜き出そうとして"[A-z]"とかしても関係無い行だらけになりそうだ
2020/08/23(日) 05:33:34.45ID:YFfZnyha
ついでに言うと正規表現ではない検索も変だろ
/R 無くても同じ。何のためのオプションだよ
>echo abc | FINDSTR "[b]"
abc
>echo abc | FINDSTR "."
abc
/R 無くても同じ。何のためのオプションだよ
>echo abc | FINDSTR "[b]"
abc
>echo abc | FINDSTR "."
abc
2020/08/23(日) 09:26:20.02ID:W2kjoCYK
それはバグってより設計者の好みだろう
デフォを自分仕様にしたかったのだろうね
findstr "SPはOR検索 + 正規表現"
文字列リテラルで検索したい時は
findstr /L "SPはOR検索 + 文字列リテラル"
findstr /c:"SPリテラル + 文字列リテラル"
SPリテラルで正規表現
findstr /r /c:"SPリテラル + 正規表現"
まあ/r の有り無しで正規表現のスイッチに統一して
/Lや/Cを廃止にしてspによるor検索をスイッチにした方が分かりやすかったろう
というか findstr /c:"abc" /c:"xyz" と複数置けるから""だけのor検索無くても困らないんだが設計者には必要だったのだろうね
"|"が正規表現のORとして無いことも関係あるのかも知れない
/b "# : ; @" とか
/r /c:"^#" /c:"^:" /c:"^;" /c:"^@" と書くより楽だし
デフォを自分仕様にしたかったのだろうね
findstr "SPはOR検索 + 正規表現"
文字列リテラルで検索したい時は
findstr /L "SPはOR検索 + 文字列リテラル"
findstr /c:"SPリテラル + 文字列リテラル"
SPリテラルで正規表現
findstr /r /c:"SPリテラル + 正規表現"
まあ/r の有り無しで正規表現のスイッチに統一して
/Lや/Cを廃止にしてspによるor検索をスイッチにした方が分かりやすかったろう
というか findstr /c:"abc" /c:"xyz" と複数置けるから""だけのor検索無くても困らないんだが設計者には必要だったのだろうね
"|"が正規表現のORとして無いことも関係あるのかも知れない
/b "# : ; @" とか
/r /c:"^#" /c:"^:" /c:"^;" /c:"^@" と書くより楽だし
2020/08/23(日) 18:33:53.18ID:YFfZnyha
>>32
勉強になりました。ありがとうございます。
勉強になりました。ありがとうございます。
2020/08/23(日) 19:13:37.50ID:YFfZnyha
FINDSTR で間違いやすい例を書いてみた。
>echo a"b"c | FINDSTR /L a"b"c || echo NG
NG
>echo a"b"c | FINDSTR /L a\"b\"c || echo NG
a"b"c
>echo "a\\b" | FINDSTR /L "a\\b" || echo NG
NG
>echo "a\\b" | FINDSTR /L "a\\\\b" || echo NG
"a\\b"
>echo a"b"c | FINDSTR /L a"b"c || echo NG
NG
>echo a"b"c | FINDSTR /L a\"b\"c || echo NG
a"b"c
>echo "a\\b" | FINDSTR /L "a\\b" || echo NG
NG
>echo "a\\b" | FINDSTR /L "a\\\\b" || echo NG
"a\\b"
2020/08/24(月) 22:11:18.26ID:lQsXqBw5
>>34
こりゃ、呪文だなwww
こりゃ、呪文だなwww
2020/08/25(火) 00:00:29.45ID:u2jzRMP8
最近は ripgrep ばかりで findstr 使わなくなったなぁ
2020/08/25(火) 07:21:39.36ID:DIRbM727
難問
echo a^^b | find "a^b"
echo a^^b | find "a^b"
2020/08/25(火) 10:40:55.06ID:QTO1Ka7Y
2020/08/25(火) 11:04:16.63ID:tde3aaGe
コマンドライン解析で一度、パイプで二度
2020/08/25(火) 15:32:57.82ID:e1SePToE
難問のような書き方ができないのが初心者
難問のような書き方を回避するのが上級者、時間の無駄なので
難問のような書き方を回避するのが上級者、時間の無駄なので
2020/08/25(火) 17:31:06.89ID:DIRbM727
echo a^^b | find "ab"
ab
ab
2020/08/26(水) 06:29:54.99ID:uY0vxId0
https://stackoverrun.com/ja/q/1204675
昨日これにハマってた
こんなエスケープの仕方、気付けるかってのw
俺はリダイレクトじゃなくてfor do の()内でfindstrの後ろに)や&&がある時にダメだった
長いと見辛くなるけど()を付けずに1行で書くとエスケープ無くとも問題ない
findstrもsetと同じく基本的には改行で終わるようにするかサブルーチン呼んでネスト外にした方がいいっぽい
>>40 いやほんとそれな
なるべくネストさせない書き方だったりロジックが大事
昨日これにハマってた
こんなエスケープの仕方、気付けるかってのw
俺はリダイレクトじゃなくてfor do の()内でfindstrの後ろに)や&&がある時にダメだった
長いと見辛くなるけど()を付けずに1行で書くとエスケープ無くとも問題ない
findstrもsetと同じく基本的には改行で終わるようにするかサブルーチン呼んでネスト外にした方がいいっぽい
>>40 いやほんとそれな
なるべくネストさせない書き方だったりロジックが大事
2020/08/26(水) 08:34:28.36ID:PfiO/aOo
トラブルが嫌なら全部一行ずつ書けばいい
あとはcallとかgotoで制御して
そもそも初級者は何を回避したらいいか判別できない
ハマった経験が無いからね
あとはcallとかgotoで制御して
そもそも初級者は何を回避したらいいか判別できない
ハマった経験が無いからね
2020/08/26(水) 08:42:47.76ID:Aw0pMxIV
stackoverrunなんてパクリクソサイト使うんじゃねー
stackoverflow見ろ
https://stackoverflow.com/questions/4982802/escaping-a-quote-in-findstr-search-string
stackoverflow見ろ
https://stackoverflow.com/questions/4982802/escaping-a-quote-in-findstr-search-string
45デフォルトの名無しさん
2020/08/26(水) 09:18:45.66ID:3xqKZ5M9 >>44
ここはあめぞうのパクリサイトですお
ここはあめぞうのパクリサイトですお
2020/09/03(木) 14:07:53.97ID:k8mfa657
指定フォルダ配下の全フォルダに対してプログラムを実行したいんですが、
batってフォルダかどうかってどう判別すればいいんですか?
Pythonのisdirみたいなことって出来ますか?
batってフォルダかどうかってどう判別すればいいんですか?
Pythonのisdirみたいなことって出来ますか?
2020/09/03(木) 14:42:52.91ID:+v/Eop6e
>>46
フォルダに必ずあるファイルの存在チェック
if exist "フォルダ\." echo フォルダです
又はdirコマンドの助けを借りるとか、他にもやり方はありそう
>nul 2>&1 (dir /ad "フォルダ"|find "<DIR>")&&echo フォルダです
フォルダに必ずあるファイルの存在チェック
if exist "フォルダ\." echo フォルダです
又はdirコマンドの助けを借りるとか、他にもやり方はありそう
>nul 2>&1 (dir /ad "フォルダ"|find "<DIR>")&&echo フォルダです
2020/09/03(木) 14:52:00.22ID:+v/Eop6e
あれ、.や..を指定するとダメみたい\のみで
間違って覚えてたのかな
間違って覚えてたのかな
2020/09/03(木) 15:38:32.84ID:14mNqQ/J
> 指定フォルダ配下の全フォルダに対してプログラムを実行
> isdirみたいな
for /r "c:\test" %%G in (.) do (
echo "%%G" "%%~aG"
call :sub "%%~fG"
)
pause &exit /b
:sub
set "a=%~a1"
if "%a:~0,1%"=="d" echo folder
exit /b
> isdirみたいな
for /r "c:\test" %%G in (.) do (
echo "%%G" "%%~aG"
call :sub "%%~fG"
)
pause &exit /b
:sub
set "a=%~a1"
if "%a:~0,1%"=="d" echo folder
exit /b
2020/09/03(木) 20:06:56.41ID:cSGnh9i3
if exist Folder\NUL
NULとかのデバイスが存在すればフォルダ
NULとかのデバイスが存在すればフォルダ
5146
2020/09/03(木) 21:43:59.26ID:s/SMQArb ありがとうございます
いろいろなやり方があるんですね
いろいろなやり方があるんですね
2020/09/03(木) 23:29:38.18ID:YSxN3SpI
誰か挙げてくると思ってたけど嫌われてんの?w > forfiles
forfiles には @isdir というまんまディレクトリ判定のがある
他にもまぁ便利っちゃ便利なんだけど、遅いのであんまり使わない forfiles
forfiles には @isdir というまんまディレクトリ判定のがある
他にもまぁ便利っちゃ便利なんだけど、遅いのであんまり使わない forfiles
53デフォルトの名無しさん
2020/09/04(金) 00:30:01.26ID:kQRqRY30 xpで使えないと駄目だろ
2020/09/04(金) 23:58:55.74ID:1jfeDIRi
XP... 今時…
2020/09/05(土) 07:15:55.93ID:6fK9k7zC
cd folder && program でいいやろ…
2020/09/10(木) 03:56:31.22ID:udh9kkuM
@echo off &setlocal enabledelayedexpansion
set MD5=c472a022eb426cf1733a36e08b31c9f9
set T=0123456789ABCDEFGHIJKLMNOPQRSTUV
for /L %%i in (0,1,25) do (
set /a L=5*%%i/8, L*=2, H=L+2, R=5*%%i%%8
call set /a "N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%>>R&31
echo !N!
call set HASH=!HASH!%%T:~!N!,1%%
)
echo "%HASH%"
if "%HASH%"=="4MS0AHCT22R2VP97M1ONOO4PP7" ( echo OK) else ( echo Fail)
pause
ちょっと誰か助けてくれ。気になって眠れずこんな時間になってしまった
エスケープの仕方を教えて欲しい
上ので動いてるんだけどN左の引用符を外して
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^>^>R^&31
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^^^>^^^>R^^^&31
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^^^^^>^^^^^>R^^^^^&31
とか
call set /a N^=0x%%MD5^:^~!H!^,2%%%%MD5^:^~!L!^,2%%^>^>R^&31
call set /a N^^^=0x%%MD5^^^:^^^~!H!^^^,2%%%%MD5^^^:^^^~!L!^^^,2%%^^^>^^^>R^^^&31
とか%重ねたりとか何時間も色々試してみたけどNが空になる
何にどれだけエスケープが必要なのかのロジックが知りたい
forとcallで2段なんだと思うんだけど。。
分かる人居たらお願いします
set MD5=c472a022eb426cf1733a36e08b31c9f9
set T=0123456789ABCDEFGHIJKLMNOPQRSTUV
for /L %%i in (0,1,25) do (
set /a L=5*%%i/8, L*=2, H=L+2, R=5*%%i%%8
call set /a "N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%>>R&31
echo !N!
call set HASH=!HASH!%%T:~!N!,1%%
)
echo "%HASH%"
if "%HASH%"=="4MS0AHCT22R2VP97M1ONOO4PP7" ( echo OK) else ( echo Fail)
pause
ちょっと誰か助けてくれ。気になって眠れずこんな時間になってしまった
エスケープの仕方を教えて欲しい
上ので動いてるんだけどN左の引用符を外して
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^>^>R^&31
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^^^>^^^>R^^^&31
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^^^^^>^^^^^>R^^^^^&31
とか
call set /a N^=0x%%MD5^:^~!H!^,2%%%%MD5^:^~!L!^,2%%^>^>R^&31
call set /a N^^^=0x%%MD5^^^:^^^~!H!^^^,2%%%%MD5^^^:^^^~!L!^^^,2%%^^^>^^^>R^^^&31
とか%重ねたりとか何時間も色々試してみたけどNが空になる
何にどれだけエスケープが必要なのかのロジックが知りたい
forとcallで2段なんだと思うんだけど。。
分かる人居たらお願いします
2020/09/10(木) 06:03:46.49ID:v191ihhK
こういうのは嫌なのか?
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%">>"R"&"31
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%">>"R"&"31
2020/09/10(木) 08:08:01.59ID:udh9kkuM
>>57
ありがとう
それでも動いたし以下でも行けた
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%">>R&31
という事は右シフトとアンドだけが問題で他は関係無いっぽい
^だけじゃ出来ないのかな
ありがとう
それでも動いたし以下でも行けた
call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%">>R&31
という事は右シフトとアンドだけが問題で他は関係無いっぽい
^だけじゃ出来ないのかな
2020/09/13(日) 15:25:35.94ID:W8TB3CjN
バッチファイルでメッセージボックスを表示してレジストリのバックアップをするとエラーになります
なんででしょうか
ご教示よろしくお願いいたします
Win7 HP SP1 x64
コード
@echo off
set title=VBScript
set text=%~nx0ファイルを実行しますか?
set type=52
set tmp=%TEMP%\temp.vbs
echo WScript.Quit(MsgBox("%text%",%type%,"%title%")) > %tmp% & cscript //nologo %tmp%
if errorlevel 7 goto end
reg export "HKCR\*" "%USERPROFILE%\Desktop\hoge.reg" /y
echo.
pause
goto end
:end
del %tmp%
exit
エラーメッセージ
エラー: ファイルに書き込めません。ディスクまたはファイル システムにエラーがある
可能性があります。
なんででしょうか
ご教示よろしくお願いいたします
Win7 HP SP1 x64
コード
@echo off
set title=VBScript
set text=%~nx0ファイルを実行しますか?
set type=52
set tmp=%TEMP%\temp.vbs
echo WScript.Quit(MsgBox("%text%",%type%,"%title%")) > %tmp% & cscript //nologo %tmp%
if errorlevel 7 goto end
reg export "HKCR\*" "%USERPROFILE%\Desktop\hoge.reg" /y
echo.
pause
goto end
:end
del %tmp%
exit
エラーメッセージ
エラー: ファイルに書き込めません。ディスクまたはファイル システムにエラーがある
可能性があります。
2020/09/13(日) 15:53:37.94ID:UUr/oA+t
たぶんディスクまたはファイルシステムにエラーがある
2020/09/13(日) 16:22:35.50ID:rbJ0gfd+
実行してないけど多分&で繋いだところで、まだ%tmp%ファイルが作られてないんじゃないかな
ついでに結果判定の行も実行前に通過しちゃいそう
ついでに結果判定の行も実行前に通過しちゃいそう
2020/09/13(日) 17:33:48.42ID:rbJ0gfd+
実行してみた
原因は%tmp%を変更したからだね(おそらくregコマンドがtmpを使ってる)
%tmp%→%tmpfile%とでもしとけばいい
原因は%tmp%を変更したからだね(おそらくregコマンドがtmpを使ってる)
%tmp%→%tmpfile%とでもしとけばいい
2020/09/13(日) 17:52:08.11ID:W8TB3CjN
2020/09/14(月) 18:50:01.56ID:QRPjjbWO
なんじゃそれ
2020/09/15(火) 08:02:48.52ID:zq4P2IYm
昔はバカコーダーの代表格だったif else if...でひたすら羅列してるやつ、くっそ遅かったのに
今win10だとforで回すより速いんだがw 試して思わず吹いたw
XP機なんてもう無いから比較出来んけど
専門用語よく分からんがプリプロセッサだかインタープリタだかがセミコンパイル?最適化?してくれるようになったん?
カビ臭いセオリーに囚われてちゃイカンようだ
今win10だとforで回すより速いんだがw 試して思わず吹いたw
XP機なんてもう無いから比較出来んけど
専門用語よく分からんがプリプロセッサだかインタープリタだかがセミコンパイル?最適化?してくれるようになったん?
カビ臭いセオリーに囚われてちゃイカンようだ
2020/09/15(火) 10:14:02.00ID:QjU8NMVB
for do 後の文中に call を入れると遅くなるのを何とかして欲しい。
処理時間が倍増する。下手すると何十倍もかかる
処理時間が倍増する。下手すると何十倍もかかる
67デフォルトの名無しさん
2020/09/15(火) 10:25:56.06ID:X+gTbBjK フロッピーディスクでディスクキャッシュ無効にしてbat走らせると
1行ごとにbatファイルを再読み込みしているのが実感できて楽しいよ
1行ごとにbatファイルを再読み込みしているのが実感できて楽しいよ
2020/09/15(火) 14:56:26.93ID:zq4P2IYm
>>66
call set とかで多段展開よく使うんだけど
callの代わりにfor文にしてfor変数と遅延展開にして callやめたら確かに速くなったわ
見た目上は call set の方がシンプルで速そうなんだがなー
速い書き方模索してたので助かった. ありがとう
call set とかで多段展開よく使うんだけど
callの代わりにfor文にしてfor変数と遅延展開にして callやめたら確かに速くなったわ
見た目上は call set の方がシンプルで速そうなんだがなー
速い書き方模索してたので助かった. ありがとう
2020/09/15(火) 15:12:45.99ID:zo2IeaGi
callの時点で子タスク生成して構文解釈まで行われるじゃん
速いはず無い
速いはず無い
2020/09/15(火) 15:29:08.58ID:QjU8NMVB
おまけにバッチ優先だから気味が悪い
@echo off
echo set a=NG > set.bat
call set a=OK
echo %a%
pause
@echo off
echo set a=NG > set.bat
call set a=OK
echo %a%
pause
2020/09/15(火) 16:07:46.64ID:zq4P2IYm
偶にコマンド名と同じファイル名付けてトラブるバカが居るけどそれは流石にイチャモンが過ぎるだろw
2020/09/15(火) 16:17:43.50ID:QjU8NMVB
普通は内部コマンド優先
73デフォルトの名無しさん
2020/09/15(火) 18:34:43.10ID:X+gTbBjK 毎回set.batがあるかpath探してるのか?
2020/09/15(火) 18:52:07.91ID:QjU8NMVB
そうだと思う。たぶん exe とかも捜してる。
余計な処理で時間のロス
余計な処理で時間のロス
2020/09/15(火) 19:48:46.31ID:/ea/Q9+g
callって元々バッチファイルを呼ぶためのコマンドだしな
環境変数を遅延展開するために使えるなんて公式ヘルプには載ってない
環境変数を遅延展開するために使えるなんて公式ヘルプには載ってない
2020/09/15(火) 23:46:39.63ID:otyKrGil
2020/09/18(金) 22:08:23.94ID:uEsKVG5e
windows板でいい答えが出なかったんでこっちに来ました。
windows10でログオンしなければ走らないプログラム(TV録画予約ソフト)があるので、Windows の自動ログオンを有効にし、
Autoexec.batに
rundll32 user32.dll, LockWorkStation
と記述して直ちにロックすることとしています。
しかしながら、これは不意の停電などで再起動したときの為であって、
自分自身がPCの前にいる場合は、ロック解除をしなければならないのが面倒です。
そこで、バッチファイルで
15秒待つ
その間に何もキーが押されなかったら、
rundll32 user32.dll, LockWorkStation
を実行
何かキーが押されたら、バッチファイルを終了
としたいのですが、どうしたらいいでしょう
N88BASIC(86)だとこんなイメージ
(10行の "to 1000"は適当に調節)
10 for i=1 to 1000
20 a$=inkey$
30 if a$<>"" then goto 70
40 next i
50 rundll32 user32.dll, LockWorkStation
60 end
70 i=1000:next i
80 end
ちなみに今は、autoexec.bat に
TIMEOUT /T 15 /NOBREAK
rundll32 user32.dll, LockWorkStation
として、すぐに作業したい場合は15秒の間にcmdの右上のxをクリックしてコマンドプロンプトを閉じています
windows10でログオンしなければ走らないプログラム(TV録画予約ソフト)があるので、Windows の自動ログオンを有効にし、
Autoexec.batに
rundll32 user32.dll, LockWorkStation
と記述して直ちにロックすることとしています。
しかしながら、これは不意の停電などで再起動したときの為であって、
自分自身がPCの前にいる場合は、ロック解除をしなければならないのが面倒です。
そこで、バッチファイルで
15秒待つ
その間に何もキーが押されなかったら、
rundll32 user32.dll, LockWorkStation
を実行
何かキーが押されたら、バッチファイルを終了
としたいのですが、どうしたらいいでしょう
N88BASIC(86)だとこんなイメージ
(10行の "to 1000"は適当に調節)
10 for i=1 to 1000
20 a$=inkey$
30 if a$<>"" then goto 70
40 next i
50 rundll32 user32.dll, LockWorkStation
60 end
70 i=1000:next i
80 end
ちなみに今は、autoexec.bat に
TIMEOUT /T 15 /NOBREAK
rundll32 user32.dll, LockWorkStation
として、すぐに作業したい場合は15秒の間にcmdの右上のxをクリックしてコマンドプロンプトを閉じています
2020/09/18(金) 22:14:12.38ID:uEsKVG5e
こちらの質問はもしかしたらスレ違いかもしれませんが。
あるフォルダ内のファイル一覧をテキストファイルに落としたいと思っています。
一太郎Ver4.3付属のMS-DOS2.11以来、DOSに慣れ親しんでいる私は、
CMD (又は見栄を張ってpowershell)で、
D:\hoge\hoge>dir > list.txt
なんてやってしまうのですが、
Windows10ネイティブのナウなヤングはWindows上で、どのようにやるのでしょうか
コマンドプロンプトなんて使ったことのない、普通のWindowsユーザーさんに教える必要があります
あるフォルダ内のファイル一覧をテキストファイルに落としたいと思っています。
一太郎Ver4.3付属のMS-DOS2.11以来、DOSに慣れ親しんでいる私は、
CMD (又は見栄を張ってpowershell)で、
D:\hoge\hoge>dir > list.txt
なんてやってしまうのですが、
Windows10ネイティブのナウなヤングはWindows上で、どのようにやるのでしょうか
コマンドプロンプトなんて使ったことのない、普通のWindowsユーザーさんに教える必要があります
2020/09/19(土) 03:30:06.61ID:1TUbP9BW
dir /b > list.txt
2020/09/19(土) 05:19:51.44ID:RfEWMQRr
2020/09/19(土) 06:32:50.16ID:aPDv4PNE
キーを限定してもいいならchoice
2020/09/19(土) 06:41:28.16ID:aPDv4PNE
2020/09/19(土) 07:30:51.34ID:RfEWMQRr
choiceはotherが設定出来たら言うことなしだったのになぁ
forもcontinueとbreakさえあれば。。
あと一歩をわざと使いづらくしてるのかと邪推してしまうわ
forもcontinueとbreakさえあれば。。
あと一歩をわざと使いづらくしてるのかと邪推してしまうわ
2020/09/20(日) 20:29:41.51ID:QtwFpjW/
恐れ入ります。初心者です。
約400個の.m4aファイルを.mp3形式に変換しようとしています。
以下のようなバッチファイル作成において、出力ファイル名の記述が大変なのですが、
ffmpeg -i aa001.m4a -ab 48k aa001.mp3
ffmpeg -i bb004.m4a -ab 48k bb004.mp3
ffmpeg -i c030.m4a -ab 48k c030.mp3
入力ファイル名の文字列だけを変数のようにして、出力ファイル名として利用できないでしょうか?
以下のようなイメージです。
ffmpeg -i aa001.m4a -ab 48k 変数.mp3
ffmpeg -i bb004.m4a -ab 48k 変数.mp3
ffmpeg -i c030.m4a -ab 48k 変数.mp3
説明は面倒かと思いますので、参照すべきURL、
もしくは検索ワードだけでも教えて頂けると助かります。
約400個の.m4aファイルを.mp3形式に変換しようとしています。
以下のようなバッチファイル作成において、出力ファイル名の記述が大変なのですが、
ffmpeg -i aa001.m4a -ab 48k aa001.mp3
ffmpeg -i bb004.m4a -ab 48k bb004.mp3
ffmpeg -i c030.m4a -ab 48k c030.mp3
入力ファイル名の文字列だけを変数のようにして、出力ファイル名として利用できないでしょうか?
以下のようなイメージです。
ffmpeg -i aa001.m4a -ab 48k 変数.mp3
ffmpeg -i bb004.m4a -ab 48k 変数.mp3
ffmpeg -i c030.m4a -ab 48k 変数.mp3
説明は面倒かと思いますので、参照すべきURL、
もしくは検索ワードだけでも教えて頂けると助かります。
2020/09/20(日) 20:38:05.68ID:bYdUCAyz
m4a ファイルが D:\M4A\ に入っているとして
for %%L in (D:\M4A\*.m4a) do ffmpeg -i %%L -ab 48k %%~nL.mp3
for %%L in (D:\M4A\*.m4a) do ffmpeg -i %%L -ab 48k %%~nL.mp3
2020/09/20(日) 20:57:17.46ID:QtwFpjW/
2020/10/03(土) 10:47:40.18ID:wKgZGKzj
入力された文字列を使ってコマンドを走らせようとしてるんだけど変数に値は入るんだけどコマンドの方には空っぽで出力されるんだがなにか処理っているの?
%で囲むだけでいいよね?
%で囲むだけでいいよね?
2020/10/03(土) 10:53:42.03ID:HRjNW00f
2020/10/03(土) 10:57:51.23ID:wKgZGKzj
>>88
それはなんですか?
それはなんですか?
90デフォルトの名無しさん
2020/10/04(日) 00:03:10.85ID:1nqCsM3n2020/10/04(日) 00:16:53.72ID:VPBkvUyg
上から目線怖い
2020/10/07(水) 22:42:28.13ID:8t5FIA98
set /p moji=入力するのじゃ
echo 出力するでおじゃる %moji%
うん、何の処理もいらないな
echo 出力するでおじゃる %moji%
うん、何の処理もいらないな
2020/10/08(木) 13:42:17.79ID:BulPjeqX
遅延展開に関して setlocal /? にはロクな説明無いよ
詳しい説明が書かれているのは set /? の方
まあ87みたいなアホはスルーしとけ
詳しい説明が書かれているのは set /? の方
まあ87みたいなアホはスルーしとけ
2020/10/09(金) 12:07:08.64ID:xYDxCkF1
入力処理を2回する時ってなにか特殊な処理とかいるの?
YESNO→文字列入力で
後者の処理で変数に文字列が入らない
YESNO→文字列入力で
後者の処理で変数に文字列が入らない
2020/10/09(金) 12:17:29.66ID:ZREy0Q0x
96デフォルトの名無しさん
2020/10/09(金) 12:41:22.12ID:xYDxCkF1 >>95
@echo off
@setlocal
cd /d %~dp0
:START
rem 初期化
set NUM_INPUT=
set ID_INPUT=
set URL_INPUT=
set /P NUM_INPUT="URLはどちらですか?(1:DL/2:ok.ru/9:アップデート):"
IF %NUM_INPUT% equ 1 (
set /P ID_INPUT="IDを入力してください: "
youtube-dl https://lb.loadloadingfreevideo.top/hls/%ID_INPUT%/%ID_INPUT%.m3u8 --user-agent "Mozilla/5.0 (Intel Mac OS X)"
) ELSE IF %NUM_INPUT% equ 2 (
set /P URL_INPUT="URLを入力してください: "
echo 入力した文字列は %URL_INPUT% です。
youtube-dl %URL_INPUT%
) ELSE IF %NUM_INPUT% equ 9 (
youtube-dl -U
) ELSE (
goto :START
)
pause
VisualBatで確認したところ2回目の入力値の変数には値が入ってくるんだが出力されたときには空欄で出力される…
@echo off
@setlocal
cd /d %~dp0
:START
rem 初期化
set NUM_INPUT=
set ID_INPUT=
set URL_INPUT=
set /P NUM_INPUT="URLはどちらですか?(1:DL/2:ok.ru/9:アップデート):"
IF %NUM_INPUT% equ 1 (
set /P ID_INPUT="IDを入力してください: "
youtube-dl https://lb.loadloadingfreevideo.top/hls/%ID_INPUT%/%ID_INPUT%.m3u8 --user-agent "Mozilla/5.0 (Intel Mac OS X)"
) ELSE IF %NUM_INPUT% equ 2 (
set /P URL_INPUT="URLを入力してください: "
echo 入力した文字列は %URL_INPUT% です。
youtube-dl %URL_INPUT%
) ELSE IF %NUM_INPUT% equ 9 (
youtube-dl -U
) ELSE (
goto :START
)
pause
VisualBatで確認したところ2回目の入力値の変数には値が入ってくるんだが出力されたときには空欄で出力される…
97デフォルトの名無しさん
2020/10/09(金) 13:22:34.61ID:MFDBon0y すみません、自己解決しました
2020/10/09(金) 13:34:07.34ID:xYDxCkF1
してないわw
2020/10/09(金) 14:11:49.12ID:ZREy0Q0x
行の解釈は、行を読み込んだ時点で解釈され、変数は置換される
()で囲まれた部分は全体で一行扱い
つまり括弧内で入力したって、それは括弧を抜けないと有効でなく
カッコ内は既に括弧前(if文の前)の値で置換済み
やっぱり上のレスと同じじゃん
()で囲まれた部分は全体で一行扱い
つまり括弧内で入力したって、それは括弧を抜けないと有効でなく
カッコ内は既に括弧前(if文の前)の値で置換済み
やっぱり上のレスと同じじゃん
100デフォルトの名無しさん
2020/10/09(金) 14:35:46.06ID:ZREy0Q0x 解決策は
構造を変えて、入力と参照のどちらかをif文から出すか
遅延環境変数を使うか
call文で内部の処理をサブルーチンとして呼び出す形にするか
構造を変えて、入力と参照のどちらかをif文から出すか
遅延環境変数を使うか
call文で内部の処理をサブルーチンとして呼び出す形にするか
101デフォルトの名無しさん
2020/10/09(金) 14:36:34.08ID:0eCLusxq @echo off &setlocal
pushd "%~0\.."
:MAIN
set N=
set /p N= 選択 [ 1:ID, 2:URL, 9:Update ] :
if "%N%"=="1" call :DL_ID
if "%N%"=="2" call :DL_URL
if "%N%"=="9" call :UPDATE
goto :MAIN
:DL_ID
set ID=
set /p ID= ID? :
:: ここで入力値を確認するかfindstrでIDの形式として正しいかcheck
youtube-dl "https://lb.loadloadingfreevideo.top/hls/%ID%/%ID%.m3u8" --user-agent "Mozilla/5.0 (Intel Mac OS X)"
exit /b
:DL_URL
set URL=
set /p URL= URL? :
:: ここで入力値確認
youtube-dl "%URL%"
exit /b
:UPDATE
youtube-dl -U
pushd "%~0\.."
:MAIN
set N=
set /p N= 選択 [ 1:ID, 2:URL, 9:Update ] :
if "%N%"=="1" call :DL_ID
if "%N%"=="2" call :DL_URL
if "%N%"=="9" call :UPDATE
goto :MAIN
:DL_ID
set ID=
set /p ID= ID? :
:: ここで入力値を確認するかfindstrでIDの形式として正しいかcheck
youtube-dl "https://lb.loadloadingfreevideo.top/hls/%ID%/%ID%.m3u8" --user-agent "Mozilla/5.0 (Intel Mac OS X)"
exit /b
:DL_URL
set URL=
set /p URL= URL? :
:: ここで入力値確認
youtube-dl "%URL%"
exit /b
:UPDATE
youtube-dl -U
102デフォルトの名無しさん
2020/10/09(金) 14:46:41.82ID:xYDxCkF1103デフォルトの名無しさん
2020/10/09(金) 19:13:39.03ID:bdkjFn4I ここの人たちはコマンドプロンプトのことを「シェル」って呼ぶ?
あまり一般的じゃないですよね?
シェルって言ったらBashとかあっちのイメージなんですが
あまり一般的じゃないですよね?
シェルって言ったらBashとかあっちのイメージなんですが
104デフォルトの名無しさん
2020/10/09(金) 19:55:04.43ID:/2wG1kS2 dosshellよりはシェルっぽい
105デフォルトの名無しさん
2020/10/09(金) 20:56:01.11ID:bdkjFn4I Wiki見るとジャンル的にはコマンドプロンプトもコマンドラインインタプリタ(シェル)みたいなんですが、
あんまりシェルって読んでる人いないですよね
あんまりシェルって読んでる人いないですよね
106デフォルトの名無しさん
2020/10/09(金) 20:57:57.12ID:verB6kW/ そりゃWinfowのシェルはエクスプローラーだもの
107デフォルトの名無しさん
2020/10/09(金) 21:33:57.08ID:pYgpY0Tn cmdがコンソールくっついてんのは設計の失敗だよなあ
powershellでも同じ轍を踏んでるし
客から黒い画面邪魔って何億回言われてんだろう
あふぉが過ぎる
powershellでも同じ轍を踏んでるし
客から黒い画面邪魔って何億回言われてんだろう
あふぉが過ぎる
108デフォルトの名無しさん
2020/10/09(金) 21:38:55.75ID:0CTZ1NG3 黒い画面なしで起動することは可能なんだから、
何億回も言われてるのはお前の問題
何億回も言われてるのはお前の問題
109デフォルトの名無しさん
2020/10/09(金) 22:58:55.17ID:4BFKVw+u 黒いの嫌なら白に設定しろ
110デフォルトの名無しさん
2020/10/09(金) 23:53:38.68ID:760t1BpC111デフォルトの名無しさん
2020/10/10(土) 00:20:53.75ID:9msS7xxw いや、Updateと普通のURLはbatに組み込まない方がいいだろ
直接使ってもさほど変わらない
ok.ru専属batにしたほうがいい
直接使ってもさほど変わらない
ok.ru専属batにしたほうがいい
112デフォルトの名無しさん
2020/10/10(土) 03:21:12.75ID:I6aD6+Ht >>111
ok.ruだけじゃないんだよ某サイト
ok.ruだけじゃないんだよ某サイト
113デフォルトの名無しさん
2020/10/11(日) 08:59:02.91ID:uWZZ3h6O batのウィンドウを非表示で実行するためにvbs噛ませてたんだけど「このスクリプトには、悪質なコンテンツが含まれているため、ウイルス対策ソフトウェアによりブロックされています。」って言われるようになっちゃった
114デフォルトの名無しさん
2020/10/11(日) 09:08:42.65ID:/L2D78D0 >>113
batのショートカットを最小化で実行するとかは
batのショートカットを最小化で実行するとかは
115デフォルトの名無しさん
2020/10/11(日) 20:13:47.65ID:P0HYJFd1116デフォルトの名無しさん
2020/10/11(日) 20:15:27.38ID:P0HYJFd1117デフォルトの名無しさん
2020/10/11(日) 20:31:14.01ID:/L2D78D0118デフォルトの名無しさん
2020/10/11(日) 21:12:48.29ID:P0HYJFd1119116
2020/10/11(日) 22:14:08.72ID:P0HYJFd1 勘違いだった
タスクスケジューラにショートカットを指定してもbatファイル本体の指定に切り替わるみたいなので
startコマンドにminオプション付けてbatファイル本体を実行してたのを
ショートカットで最小に指定してもdos窓が一瞬表示されると間違って覚えてた、恥ずかしい
タスクスケジューラにショートカットを指定してもbatファイル本体の指定に切り替わるみたいなので
startコマンドにminオプション付けてbatファイル本体を実行してたのを
ショートカットで最小に指定してもdos窓が一瞬表示されると間違って覚えてた、恥ずかしい
120デフォルトの名無しさん
2020/10/19(月) 21:03:48.43ID:i1CJTVJK 「コマンドプロンプトは黒い画面に文字がたくさん出て怖い」→「チャット風」にしてみた LINEみたいで「分かりやすい」と話題に
https://nlab.itmedia.co.jp/nl/articles/2010/19/news073.html
https://nlab.itmedia.co.jp/nl/articles/2010/19/news073.html
121デフォルトの名無しさん
2020/10/20(火) 00:04:16.20ID:jnlumX7z122デフォルトの名無しさん
2020/10/20(火) 01:21:04.79ID:0/xBmjm3 >>121
MIT
MIT
123デフォルトの名無しさん
2020/10/20(火) 11:26:40.30ID:jR74MZK7 使ってないけどこのダサい画面なんとかならんのかね
特に色使い
特に色使い
124デフォルトの名無しさん
2020/11/10(火) 07:53:43.00ID:CPbRFFCx125デフォルトの名無しさん
2020/11/27(金) 17:54:04.98ID:w5Az7J0d cd ... 点3つ で2階層上のディレクトリに上がれるのって
どのWindowsの機能だっけ?
どのWindowsの機能だっけ?
126デフォルトの名無しさん
2020/11/27(金) 23:22:30.42ID:MUwYgmwm 本家Windowsの末裔である95
127デフォルトの名無しさん
2020/11/27(金) 23:22:47.95ID:MUwYgmwm からMe
128デフォルトの名無しさん
2021/01/08(金) 22:35:28.22ID:BCe3tfGB コマンドプロンプトのコピペが化ける。
全角の二重引用符を貼り付けると半角になった。
他にも化ける文字ってあるのかな
全角の二重引用符を貼り付けると半角になった。
他にも化ける文字ってあるのかな
129デフォルトの名無しさん
2021/01/15(金) 23:17:05.02ID:na+cGcWl forループでフォルダ内のファイルを取得するときにファイル名だけ抽出するコマンドってなんでしょう?
「%~n.txt」とか色々試したのですが、何を入れてもそんなファイルは存在しないといわれてしまいます(「%~n.txt」なら「%~n.txtは存在しない」)
ググってもわからなかったのでお願いします
for %%f in (フォルダパス) do (
ここで処理したい
)
「%~n.txt」とか色々試したのですが、何を入れてもそんなファイルは存在しないといわれてしまいます(「%~n.txt」なら「%~n.txtは存在しない」)
ググってもわからなかったのでお願いします
for %%f in (フォルダパス) do (
ここで処理したい
)
130デフォルトの名無しさん
2021/01/15(金) 23:17:58.97ID:na+cGcWl >>129
これbatファイルです
これbatファイルです
131デフォルトの名無しさん
2021/01/15(金) 23:36:01.03ID:OOSIw0eU for %%f in (*.txt) do (echo %%~nf)
help for読もう
help for読もう
132デフォルトの名無しさん
2021/01/16(土) 00:20:33.58ID:MUPXwQYg for %%f in (*.txt) do (echo %%~f)
for /F "TOKENS=1" %%f in ('dir /B *.txt') do (echo %%~f)
for /F "TOKENS=1" %%f in ('dir /B *.txt') do (echo %%~f)
133デフォルトの名無しさん
2021/01/16(土) 00:25:52.93ID:xL4nSAcD それ "delims=" と勘違いしてる?
134デフォルトの名無しさん
2021/01/16(土) 00:45:01.02ID:MUPXwQYg ごめん
tokens=1はいらなかった。余計だった
tokens=1はいらなかった。余計だった
135デフォルトの名無しさん
2021/01/16(土) 00:56:21.35ID:KTlk0YqY136デフォルトの名無しさん
2021/01/16(土) 01:10:21.04ID:No4exMNc137デフォルトの名無しさん
2021/01/16(土) 01:19:53.49ID:KTlk0YqY >>136
ありがとう
ありがとう
138デフォルトの名無しさん
2021/01/25(月) 19:13:54.74ID:P1MpJdzu 質問失礼します。
複数あるフォルダのフォルダ名を、内包しているファイル名に一括変更するスクリプトを作る事は可能でしょうか?
https://f.easyuploader.app/eu-prd/upload/20210124175415_346e74754c734e59584e73676b744330.png
分かりづらく申し訳ないのですが、この様にフォルダ名を内包されたファイル名に変更したいです。
色々と調べたのですが素人故どのような書き方をすればいいのか分からず…
宜しければご教授頂きたいです 宜しくお願い致します。
複数あるフォルダのフォルダ名を、内包しているファイル名に一括変更するスクリプトを作る事は可能でしょうか?
https://f.easyuploader.app/eu-prd/upload/20210124175415_346e74754c734e59584e73676b744330.png
分かりづらく申し訳ないのですが、この様にフォルダ名を内包されたファイル名に変更したいです。
色々と調べたのですが素人故どのような書き方をすればいいのか分からず…
宜しければご教授頂きたいです 宜しくお願い致します。
139デフォルトの名無しさん
2021/01/25(月) 22:05:10.09ID:N4f0FgIr >>138
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b *') do (
set "dr=%%~nxa"
for /f "delims=" %%c in ('dir /a-d /b !dr! ^| sort /r') do set "file=%%~nc"
if defined file ren "!dr!" "!file!"
set file=
set dr=
)
endlocal
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b *') do (
set "dr=%%~nxa"
for /f "delims=" %%c in ('dir /a-d /b !dr! ^| sort /r') do set "file=%%~nc"
if defined file ren "!dr!" "!file!"
set file=
set dr=
)
endlocal
140デフォルトの名無しさん
2021/01/25(月) 23:01:36.92ID:esdkgJAR141デフォルトの名無しさん
2021/01/26(火) 00:03:58.29ID:ECUGH5kE >>139
/o-nを使わずにsortするのは何か理由でもあるの?
/o-nを使わずにsortするのは何か理由でもあるの?
142デフォルトの名無しさん
2021/01/26(火) 00:23:50.23ID:ECUGH5kE あとドライブ直下が対象だとdir /adだと、
$RECYCLE.BINやSystem Volume Informationなどシステムフォルダまで見えちゃうね
中のファイルが見えなかったりリネームできなかったりで実害は無いのかもしれないけど
/ad-sの方がいいね
$RECYCLE.BINやSystem Volume Informationなどシステムフォルダまで見えちゃうね
中のファイルが見えなかったりリネームできなかったりで実害は無いのかもしれないけど
/ad-sの方がいいね
143デフォルトの名無しさん
2021/01/26(火) 00:44:20.98ID:CijQ7yAc144デフォルトの名無しさん
2021/01/26(火) 01:23:39.15ID:ECUGH5kE a010.txt, a2.txt
だとかエクスプローラとdirの昇順の並び順が異なってくるのはどう対処したらいいんだろう
だとかエクスプローラとdirの昇順の並び順が異なってくるのはどう対処したらいいんだろう
145デフォルトの名無しさん
2021/01/26(火) 02:02:45.97ID:YrHBLfuO 疑問に感じたらググれ
すぐ見付かる
すぐ見付かる
146デフォルトの名無しさん
2021/01/26(火) 02:28:00.25ID:mwA/u23E >>139
ありがとうございます!!出来ました感激です
教えていただいて更に恐縮なのですが、ファイル名昇順の一番上の名前ではなく、一番最後の名前にするにはどの部分を変えれば良いのでしょうか…?
教えて頂ければ幸いです。宜しくお願い致します。
ありがとうございます!!出来ました感激です
教えていただいて更に恐縮なのですが、ファイル名昇順の一番上の名前ではなく、一番最後の名前にするにはどの部分を変えれば良いのでしょうか…?
教えて頂ければ幸いです。宜しくお願い致します。
147デフォルトの名無しさん
2021/01/26(火) 02:57:22.05ID:YrHBLfuO in ('dir /a-d /b !dr! ^| sort /r') do
↓
in ('dir /a-d /b !dr!') do
↓
in ('dir /a-d /b !dr!') do
148デフォルトの名無しさん
2021/01/26(火) 03:28:21.19ID:mwA/u23E149デフォルトの名無しさん
2021/01/26(火) 03:55:31.46ID:YrHBLfuO in ('dir /a-d /b "!dr!"') do
150デフォルトの名無しさん
2021/01/26(火) 17:47:59.55ID:mwA/u23E151デフォルトの名無しさん
2021/01/26(火) 18:30:12.90ID:3Vc5Ni7z あんた昇順の意味わかってる?
152デフォルトの名無しさん
2021/01/27(水) 14:18:42.02ID:zQyl/e7v for %%c in ("!dr!\*") do
153デフォルトの名無しさん
2021/01/29(金) 20:04:30.58ID:nZkldKO7 ドラッグアンドドロップしたファイル(複数)を下の
ffmpeg -i "AAA.flv" -vcodec copy -acodec copy "AAA.mp4"
に入れたいです。ドロップするファイルはffmpegが置いてあるフォルダにありますが、できれば異なるフォルダからのファイルでも可能にする方法もあれば知りたいです。
よろしくおねがいします。
ffmpeg -i "AAA.flv" -vcodec copy -acodec copy "AAA.mp4"
に入れたいです。ドロップするファイルはffmpegが置いてあるフォルダにありますが、できれば異なるフォルダからのファイルでも可能にする方法もあれば知りたいです。
よろしくおねがいします。
154デフォルトの名無しさん
2021/01/29(金) 20:16:16.41ID:MVM9RsSY 例えば、ドロップしたファイルが、a, b, c とすると、
どういうコマンドにしたいの?
どういうコマンドにしたいの?
155デフォルトの名無しさん
2021/01/29(金) 20:27:09.50ID:nZkldKO7 a,b,cの動画ファイルをffmpegで変換して、それをドロップ元のフォルダに保存したいです。変換の内容は"a.flv"→ "a.mp4"です。
156デフォルトの名無しさん
2021/01/29(金) 20:32:39.25ID:mJjQcNNM ffmpeg.exeをpathの通ったディレクトリに配置
またはffmpegのPathを環境変数Pathに追加
:: D&Dで使うならショートカットの作業ディレクトリを空欄にする
:LOOP
if not exist "%~1" pause &exit /b
start "" ffmpeg -i "%~1" -vcodec copy -acodec copy "%~n1.mp4"
shift
goto :LOOP
またはffmpegのPathを環境変数Pathに追加
:: D&Dで使うならショートカットの作業ディレクトリを空欄にする
:LOOP
if not exist "%~1" pause &exit /b
start "" ffmpeg -i "%~1" -vcodec copy -acodec copy "%~n1.mp4"
shift
goto :LOOP
157デフォルトの名無しさん
2021/01/29(金) 22:13:01.62ID:MVM9RsSY158157
2021/01/29(金) 22:55:34.81ID:MVM9RsSY Ruby なら、デスクトップのa.rb に、下のように書いて、そのショートカットを作る。
ショートカットのリンク先を、C:\Ruby25-x64\bin\ruby.exe a.rb
とする。
これで、ショートカットにD&D した、すべてのファイルのフルパスが表示される
sleep は、コマンドプロンプト画面を終了させないため
puts ARGV
sleep 60 * 60 * 24
ショートカットのリンク先を、C:\Ruby25-x64\bin\ruby.exe a.rb
とする。
これで、ショートカットにD&D した、すべてのファイルのフルパスが表示される
sleep は、コマンドプロンプト画面を終了させないため
puts ARGV
sleep 60 * 60 * 24
159デフォルトの名無しさん
2021/01/30(土) 00:09:57.42ID:cwRmtLqZ >>156
ありがとうございます!できました。
ありがとうございます!できました。
160157
2021/01/30(土) 19:43:14.44ID:txnUgrNq >>158
修正
Ruby なら、デスクトップのa.rb に、
puts ARGV
と書いて、そのショートカットを作る
ショートカットのリンク先を、コマンドプロンプトとする。
cmd@.exe で、ruby で、a.rb を実行する。
C:\Windows\System32\cmd@.exe /k "ruby a.rb"
書き込めないので、@を付けましたが、
cmd@.exe の、@を抜いてください
これで、ショートカットにD&D した、すべてのファイルのフルパスが表示される
修正
Ruby なら、デスクトップのa.rb に、
puts ARGV
と書いて、そのショートカットを作る
ショートカットのリンク先を、コマンドプロンプトとする。
cmd@.exe で、ruby で、a.rb を実行する。
C:\Windows\System32\cmd@.exe /k "ruby a.rb"
書き込めないので、@を付けましたが、
cmd@.exe の、@を抜いてください
これで、ショートカットにD&D した、すべてのファイルのフルパスが表示される
161デフォルトの名無しさん
2021/01/31(日) 02:25:30.48ID:x4IKZ5QX batの初心者的質問する奴にとって、Rubyはとてもじゃないが手が出ないだろうな
162デフォルトの名無しさん
2021/02/06(土) 05:23:20.56ID:oQfB5lBJ cmdよりrubyが難解!って粘着して説くやつなんなんだろ
俺はフリーダムなruby結構好きだけど、rubyアンチはcmdスレにまで出張ってくるんだな
理解に苦しむ
俺はフリーダムなruby結構好きだけど、rubyアンチはcmdスレにまで出張ってくるんだな
理解に苦しむ
163デフォルトの名無しさん
2021/02/06(土) 05:31:05.37ID:EC31O1b+ とうとう変人が来るようになってしまったなあ
164デフォルトの名無しさん
2021/02/06(土) 18:33:37.40ID:IPUoPaen そもそもruby自体がスレ違いな件
165デフォルトの名無しさん
2021/02/06(土) 18:39:35.41ID:EC31O1b+ スレ違いとまでは言わないけど、インスコしなきゃ使えないのでハードルは高い
166デフォルトの名無しさん
2021/02/11(木) 12:48:49.05ID:VoBWc0YM https://mevius.5ch.net/test/read.cgi/tech/1542779527/213
過去ログにあった7z圧縮して指定したディレクトリに出力するコマンドですが
指定したファイル名の前に日時を入れることはできるでしょうか
20210211_○○○○.7zのような感じになればいいです
過去ログにあった7z圧縮して指定したディレクトリに出力するコマンドですが
指定したファイル名の前に日時を入れることはできるでしょうか
20210211_○○○○.7zのような感じになればいいです
167デフォルトの名無しさん
2021/02/11(木) 14:43:56.17ID:kRZRZf9v そのスレの、>211の、
set /p n=書庫名(拡張子なし)=
の前に、20210211_ を付ければ、
20210211_○○○○.7z
になるのでは?
set /p n=書庫名(拡張子なし)=
の前に、20210211_ を付ければ、
20210211_○○○○.7z
になるのでは?
168デフォルトの名無しさん
2021/02/11(木) 15:18:16.59ID:VoBWc0YM169デフォルトの名無しさん
2021/02/11(木) 15:28:40.76ID:L2KAeCmI set yyyymmdd=%date:/=%
でいけると思う(XP以前だとこれじゃダメだけど)
でいけると思う(XP以前だとこれじゃダメだけど)
170デフォルトの名無しさん
2021/02/11(木) 15:50:55.44ID:ILn4iPBu dateは環境によって表示が異なる
各々の環境に合わせて置換整形する必要あり
各々の環境に合わせて置換整形する必要あり
171デフォルトの名無しさん
2021/02/11(木) 16:20:50.85ID:VoBWc0YM172デフォルトの名無しさん
2021/02/12(金) 23:31:21.72ID:Jyf2ilAM batわけわからんからpowershellいったらもっとワケワカラン
173デフォルトの名無しさん
2021/02/13(土) 08:23:53.63ID:gaZOPqJ3 vbsへようこそ
174デフォルトの名無しさん
2021/02/16(火) 17:33:37.55ID:05vP8Ot3 プロ仕様、というかシス環向けだからな…
とりあえずエイリアス一覧に載ってるのだけ覚えればcmdっぽいモノとしては使える
とりあえずエイリアス一覧に載ってるのだけ覚えればcmdっぽいモノとしては使える
175デフォルトの名無しさん
2021/02/16(火) 20:29:09.86ID:f5pz/7Q8 psは漢字ひらがなが露骨にズレるから辞めました
今は直ってる?
今は直ってる?
176デフォルトの名無しさん
2021/02/16(火) 21:05:12.71ID:F9q4wvox ファイル操作とか、PowerShell・シェルスクリプトよりも複雑な処理は、Ruby
177デフォルトの名無しさん
2021/02/17(水) 15:04:11.28ID:JcWwc4WJ178デフォルトの名無しさん
2021/02/17(水) 16:19:47.24ID:18/0dmLg 以前こちらで教えていただいた「内包しているファイルの一番降順のファイル名をフォルダ名にするバッチ」ですが >>138
ドラッグしていない同階層の別フォルダまで勝手にリネームしてしまったり、数回使うとファイル名が見つかりませんと出てリネーム出来なくなってしまいます。
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b *') do (
set "dr=%%~nxa"
for /f "delims=" %%c in ('dir /a-d /b "!dr!"') do set "file=%%~nc"
if defined file ren "!dr!" "!file!"
set file=
set dr=
)
endlocal
こちら、ドラッグした同階層のフォルダまで全てリネームしてしまうようになってしまいますか?
ドラッグしたフォルダのみ、何度でも使えるようなバッチにするには何処を書き換えればよいか分かる方いらっしゃいませんでしょうか
ドラッグしていない同階層の別フォルダまで勝手にリネームしてしまったり、数回使うとファイル名が見つかりませんと出てリネーム出来なくなってしまいます。
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b *') do (
set "dr=%%~nxa"
for /f "delims=" %%c in ('dir /a-d /b "!dr!"') do set "file=%%~nc"
if defined file ren "!dr!" "!file!"
set file=
set dr=
)
endlocal
こちら、ドラッグした同階層のフォルダまで全てリネームしてしまうようになってしまいますか?
ドラッグしたフォルダのみ、何度でも使えるようなバッチにするには何処を書き換えればよいか分かる方いらっしゃいませんでしょうか
179デフォルトの名無しさん
2021/02/17(水) 17:36:24.38ID:XjBeFdEa ドラッグするのか
後からそんなこと言われてもな
後からそんなこと言われてもな
180デフォルトの名無しさん
2021/02/17(水) 17:44:37.07ID:L78BN9q1 ドラッグしたファイル名はパッチファイルの引数に渡る
引数を読んで処理するように作らないとね
引数を読んで処理するように作らないとね
181デフォルトの名無しさん
2021/02/17(水) 18:25:07.90ID:XjBeFdEa どっかおかしいかも
@echo off
for %%i in (%*) do set d=%%~i& call :x
exit /b
:x
cd /d "%d%" || exit /b
FOR /F "delims=" %%j IN ('dir /b /a-d /o-n') DO cd .. & ren "%d%" "%%~nj" & exit /b
@echo off
for %%i in (%*) do set d=%%~i& call :x
exit /b
:x
cd /d "%d%" || exit /b
FOR /F "delims=" %%j IN ('dir /b /a-d /o-n') DO cd .. & ren "%d%" "%%~nj" & exit /b
182デフォルトの名無しさん
2021/02/17(水) 18:52:08.32ID:ZmDWWGuE183デフォルトの名無しさん
2021/02/17(水) 22:56:18.83ID:LXOFF6tt ネットワークアダプタがデバイスの都合で、
「イーサネット 2」、「イーサネット 3」…とインターフェースの後ろの番号がどんどん増えていきます。
これの有効なインターフェース名を取得したいのです。
レジストリとかでもいいですが、
「netsh interface show interface」コマンドの出力の名前欄で、
最初の「イーサネット〜」を正確に取得したいのです。
がうまく切り出せません。
うまいやり方を教えてください・
「イーサネット 2」、「イーサネット 3」…とインターフェースの後ろの番号がどんどん増えていきます。
これの有効なインターフェース名を取得したいのです。
レジストリとかでもいいですが、
「netsh interface show interface」コマンドの出力の名前欄で、
最初の「イーサネット〜」を正確に取得したいのです。
がうまく切り出せません。
うまいやり方を教えてください・
184デフォルトの名無しさん
2021/02/17(水) 23:20:10.90ID:18/0dmLg >>181を教えてもらいましたが実行してもリネーム出来ませんでした
185デフォルトの名無しさん
2021/02/17(水) 23:34:32.73ID:XjBeFdEa186デフォルトの名無しさん
2021/02/17(水) 23:46:04.68ID:XjBeFdEa 間違えた
for /f "skip=2 tokens=3*" %%i in ('%c%') do echo "%%j"
for /f "skip=2 tokens=3*" %%i in ('%c%') do echo "%%j"
187デフォルトの名無しさん
2021/02/18(木) 00:48:33.87ID:gO/gzQD2 for /f "tokens=3*" %%a in ('netsh interface show interface^|findstr "^有効"') do echo "%%b"
188デフォルトの名無しさん
2021/02/18(木) 01:17:19.39ID:duO8GsyP189デフォルトの名無しさん
2021/02/18(木) 02:52:52.35ID:seGTs/0b190デフォルトの名無しさん
2021/02/18(木) 04:33:33.04ID:SiC3vOBB 宿題は自分でやろうよ
191デフォルトの名無しさん
2021/02/18(木) 06:38:53.51ID:tGVFfDdH192デフォルトの名無しさん
2021/02/18(木) 10:29:50.83ID:GbAv/KX+ @echo off&setlocal
set E=
:MAIN
set N=
pushd "%~1" || pause&exit /b
for %%a in (*) do set "N=%%~na"&goto :BR
:BR
popd
if defined N (ren "%~1" "%N%") else set /a "E+=1"&echo err:"%~1"
shift
if exist "%~1" goto :MAIN
if defined E pause
set E=
:MAIN
set N=
pushd "%~1" || pause&exit /b
for %%a in (*) do set "N=%%~na"&goto :BR
:BR
popd
if defined N (ren "%~1" "%N%") else set /a "E+=1"&echo err:"%~1"
shift
if exist "%~1" goto :MAIN
if defined E pause
193デフォルトの名無しさん
2021/02/19(金) 07:38:35.26ID:QeMEegpO setlocal と goto br は要らんぞ。たぶん
194デフォルトの名無しさん
2021/02/19(金) 14:27:59.70ID:E9a6ZzGX setlocalは使用変数を局所化する
コマンドプロンプトで実行後も、使った変数は使う前の状態に戻る
コマンドプロンプトで実行後も、使った変数は使う前の状態に戻る
195デフォルトの名無しさん
2021/02/19(金) 14:39:22.20ID:Wnqd+KEH ドラッグ&ドロップで使用することだけを考えたら確かに不要だが
習慣としてつけておいた方がよさげ
習慣としてつけておいた方がよさげ
196デフォルトの名無しさん
2021/02/19(金) 15:37:05.59ID:1yTQ5ZhE 無意味なもの付ける習慣はやめた方がいい
197デフォルトの名無しさん
2021/02/19(金) 17:34:28.26ID:Wnqd+KEH コードの流用を考えたら無意味ではないと思うが
まあ今回の質問者にとっちゃどうでもいいことかもね
まあ今回の質問者にとっちゃどうでもいいことかもね
198デフォルトの名無しさん
2021/02/19(金) 17:57:51.89ID:E9a6ZzGX ちゃんとした言語を使っている人ほどそういう点に気を配る傾向があるかな
俺は分かってさえいればどっちでも良いと思う
付けててもbatの組み合わせとかに気をつけてるんだろうなって思うだけで
別に文句を言うようなことでは無いと思う
俺は分かってさえいればどっちでも良いと思う
付けててもbatの組み合わせとかに気をつけてるんだろうなって思うだけで
別に文句を言うようなことでは無いと思う
199デフォルトの名無しさん
2021/02/19(金) 18:16:09.12ID:QeMEegpO 別に文句は無いが蛇足だね
200デフォルトの名無しさん
2021/02/19(金) 18:26:24.18ID:E9a6ZzGX201デフォルトの名無しさん
2021/02/19(金) 18:33:33.57ID:QeMEegpO あと、思ったんだが「一番降順のファイル名」って何?
日本語は紛らわしいなあ
日本語は紛らわしいなあ
202デフォルトの名無しさん
2021/02/19(金) 19:05:53.94ID:E9a6ZzGX203デフォルトの名無しさん
2021/02/19(金) 19:12:54.09ID:E9a6ZzGX あれ、一番降順のファイル名って正順で一番最後って意味か
204デフォルトの名無しさん
2021/02/19(金) 19:14:31.95ID:+IamAtI7205デフォルトの名無しさん
2021/02/23(火) 00:07:13.08ID:mSOvESBF Windowsバッチにて変更をするためのコマンドラインを教えていただけませんでしょうか。
端末が複数あり端末ごとのバッチファイルではなく端末一覧から選択し各端末のIP設定を行いたいです。
1:端末1
2:端末2
3:端末3
どのネットワークに接続しますか[1,2,3]?
上記のような感じで番号を選択すると下記の通り設定させたいです。
端末1
IP:192.2.10.101
サブネットマスク:255.255.255.0
デフォルトゲートウェイ:192.2.10.100
端末2
IP:192.168.10.101
サブネットマスク:255.255.255.0
デフォルトゲートウェイ:192.168.10.100
また、DNSサーバーは設定する必要はなく、IPv4のIP,サブネットマスク、デフォルトゲートウェイの3項目でよいです。
どなたかプログラミングに詳しい方助けてください。
端末が複数あり端末ごとのバッチファイルではなく端末一覧から選択し各端末のIP設定を行いたいです。
1:端末1
2:端末2
3:端末3
どのネットワークに接続しますか[1,2,3]?
上記のような感じで番号を選択すると下記の通り設定させたいです。
端末1
IP:192.2.10.101
サブネットマスク:255.255.255.0
デフォルトゲートウェイ:192.2.10.100
端末2
IP:192.168.10.101
サブネットマスク:255.255.255.0
デフォルトゲートウェイ:192.168.10.100
また、DNSサーバーは設定する必要はなく、IPv4のIP,サブネットマスク、デフォルトゲートウェイの3項目でよいです。
どなたかプログラミングに詳しい方助けてください。
206デフォルトの名無しさん
2021/02/23(火) 01:41:29.81ID:wcX5jbIj >>205
choiceとnetsh使えばいいよ
choiceとnetsh使えばいいよ
207デフォルトの名無しさん
2021/02/23(火) 02:25:49.54ID:8PZAxred >>181も>>192
もドラッグしても何も起こりませんでした
https://i.imgur.com/g5O9vPN.png
1、2、3というファイル名のZIPが入っている「TEST」フォルダをドラッグ
https://i.imgur.com/5AerIN4.png
このTESTというフォルダが3というフォルダ名になれば良いのですが…。
ドライブ直下では他のフォルダ名が変わってしまうと怖いのでP/新しいフォルダ/test
という階層で試しています
やはり不可能でしょうか
もドラッグしても何も起こりませんでした
https://i.imgur.com/g5O9vPN.png
1、2、3というファイル名のZIPが入っている「TEST」フォルダをドラッグ
https://i.imgur.com/5AerIN4.png
このTESTというフォルダが3というフォルダ名になれば良いのですが…。
ドライブ直下では他のフォルダ名が変わってしまうと怖いのでP/新しいフォルダ/test
という階層で試しています
やはり不可能でしょうか
208デフォルトの名無しさん
2021/02/23(火) 08:41:00.03ID:iGzMgm/L209デフォルトの名無しさん
2021/02/23(火) 09:28:04.09ID:iGzMgm/L210デフォルトの名無しさん
2021/02/23(火) 23:25:00.87ID:mSOvESBF >>206
作っていただけませんでしょうか、、、
作っていただけませんでしょうか、、、
211デフォルトの名無しさん
2021/02/23(火) 23:58:17.09ID:vON2H8DW まさかただでやれと?
212デフォルトの名無しさん
2021/02/24(水) 08:24:23.61ID:PISIFT9J213デフォルトの名無しさん
2021/02/24(水) 10:07:20.78ID:wDwSsMVY 聞く前にまずググれ
バッチ IP変更
バッチ IP変更
214デフォルトの名無しさん
2021/02/24(水) 21:12:07.08ID:6sz2UuTx これはひどい
215デフォルトの名無しさん
2021/02/24(水) 22:09:11.14ID:lmMJyFPq つーかなんで手動選択なん?
端末で走らせるなら端末名取れるだろ
端末で走らせるなら端末名取れるだろ
216デフォルトの名無しさん
2021/02/24(水) 23:24:44.75ID:m3EDeT3k どういうこと
そのBATはUSBか何かに入れて各端末に持ち込むのか
それとも既に繋がっている端末にリモートで変更するのか
(各端末が一つのネットワークじゃ無くて別なところも気になる)
そのBATはUSBか何かに入れて各端末に持ち込むのか
それとも既に繋がっている端末にリモートで変更するのか
(各端末が一つのネットワークじゃ無くて別なところも気になる)
217デフォルトの名無しさん
2021/02/25(木) 03:47:04.44ID:2izs5u42 いや、もうどうでもいいだろ
218157
2021/02/25(木) 11:51:36.12ID:dOCTT7eM >>138
>>157-160
の、160 のa.rb 内に、Ruby で書いた。
このショートカットに、複数フォルダをD&D する
ソートの昇順・降順は、ソート後の配列.first/last で
ただし、日本語のファイル名では、\x{8356}\x{8387}\x{815B} のように表示されてしまう。
DryRun を使ったので、実際には実行されません
require 'pathname'
require 'fileutils'
# ドットよりも前の、文字列を返す。ab.cd.xy なら、ab を返す。
# ab.cd を返したいのなら、rindex を使う
def before_dot( str )
idx = str.index( "." ) # ドットの位置を、先頭から探す
# idx = str.rindex( "." ) # ドットの位置を、末尾から探す
if idx # ドットが有れば
str[ 0, idx ] # 最初から、idx 文字数分を切り出す
else
str
end
end
次へ続く
>>157-160
の、160 のa.rb 内に、Ruby で書いた。
このショートカットに、複数フォルダをD&D する
ソートの昇順・降順は、ソート後の配列.first/last で
ただし、日本語のファイル名では、\x{8356}\x{8387}\x{815B} のように表示されてしまう。
DryRun を使ったので、実際には実行されません
require 'pathname'
require 'fileutils'
# ドットよりも前の、文字列を返す。ab.cd.xy なら、ab を返す。
# ab.cd を返したいのなら、rindex を使う
def before_dot( str )
idx = str.index( "." ) # ドットの位置を、先頭から探す
# idx = str.rindex( "." ) # ドットの位置を、末尾から探す
if idx # ドットが有れば
str[ 0, idx ] # 最初から、idx 文字数分を切り出す
else
str
end
end
次へ続く
219157
2021/02/25(木) 11:53:03.33ID:dOCTT7eM # ARGV は、D&D した複数フォルダの配列で、1つずつ処理する
ARGV.each do |full_path|
dir_path = Pathname.new( full_path )
next unless dir_path.directory? # フォルダ以外は処理しない
# 直下のファイルのみを取り出して、ファイル名でソートする
file_names = dir_path.children( ).select( &:file? ).map( &:basename ).map( &:to_s ).sort
file_name = file_names.first # 昇順
# file_name = file_names.last # 降順なら、これを使う
file_n = before_dot( file_name ) # 上で定義した関数
dest_path = dir_path.parent.join( file_n ) # 変更後のフォルダ名
# 変更後のフォルダ名が、既に存在する場合は、エラー
raise "#{ dest_path } が、既に存在します" if dest_path.exist?
FileUtils::DryRun.move( dir_path, dest_path )
end
ARGV.each do |full_path|
dir_path = Pathname.new( full_path )
next unless dir_path.directory? # フォルダ以外は処理しない
# 直下のファイルのみを取り出して、ファイル名でソートする
file_names = dir_path.children( ).select( &:file? ).map( &:basename ).map( &:to_s ).sort
file_name = file_names.first # 昇順
# file_name = file_names.last # 降順なら、これを使う
file_n = before_dot( file_name ) # 上で定義した関数
dest_path = dir_path.parent.join( file_n ) # 変更後のフォルダ名
# 変更後のフォルダ名が、既に存在する場合は、エラー
raise "#{ dest_path } が、既に存在します" if dest_path.exist?
FileUtils::DryRun.move( dir_path, dest_path )
end
220デフォルトの名無しさん
2021/02/25(木) 12:05:28.17ID:Ps3dMfcs もう質問者は来ないよ
221デフォルトの名無しさん
2021/03/03(水) 17:41:39.49ID:1pB7u9PK errorlevel 9009 はなぜ9009なのですか?
他の数字じゃダメだったんですか?
他の数字じゃダメだったんですか?
222デフォルトの名無しさん
2021/03/03(水) 19:21:37.30ID:6R5ygXlK 1919とか4545とか0721じゃ不快だろ?
223デフォルトの名無しさん
2021/03/03(水) 23:07:15.98ID:EQp2xIYJ qooq!
224デフォルトの名無しさん
2021/03/04(木) 01:00:16.15ID:qQ3/2C8M 1123
225デフォルトの名無しさん
2021/03/04(木) 07:32:57.88ID:YnU/cJu1 4126
226デフォルトの名無しさん
2021/03/09(火) 05:40:32.23ID:WB4N5jzF delコマンドでファイルを消すことはできますが
ゴミ箱に入れたい場合はどうすればよいのでしょうか?
ゴミ箱に入れたい場合はどうすればよいのでしょうか?
227デフォルトの名無しさん
2021/03/09(火) 06:44:52.98ID:psHK4d9P 「cmd ゴミ箱へ移動」でググれ
229デフォルトの名無しさん
2021/03/13(土) 03:06:59.13ID:pthlsCp5 >>228
なんで?
WSHやPowershellでのサンプルがいっぱい見つかるだろ
それをbatに組み込めばいいだけ
【例】
set filepath=%~f1
rem -- 削除確認メッセージ付き ---
powershell -C "(new-object -comobject \"Shell.Application\").NameSpace(0).ParseName(\"%filepath%\").InvokeVerb(\"delete\")"
rem -- メッセージなし ---
rem powershell -C "(new-object -comobject \"Shell.Application\").NameSpace(10).MoveHere(\"%filepath%\")"
なんで?
WSHやPowershellでのサンプルがいっぱい見つかるだろ
それをbatに組み込めばいいだけ
【例】
set filepath=%~f1
rem -- 削除確認メッセージ付き ---
powershell -C "(new-object -comobject \"Shell.Application\").NameSpace(0).ParseName(\"%filepath%\").InvokeVerb(\"delete\")"
rem -- メッセージなし ---
rem powershell -C "(new-object -comobject \"Shell.Application\").NameSpace(10).MoveHere(\"%filepath%\")"
230デフォルトの名無しさん
2021/03/22(月) 08:41:49.24ID:ERIrsy59 「color ec」で黄色背景の赤文字とかやってたんだけど
いつのまにかカスタードクリームみたいなうっすい黄色になってるな
XPの頃は真っ黄色だったのにいつからこんな中途半端な色になったんだ?
いつのまにかカスタードクリームみたいなうっすい黄色になってるな
XPの頃は真っ黄色だったのにいつからこんな中途半端な色になったんだ?
231デフォルトの名無しさん
2021/03/22(月) 08:59:02.64ID:gb0Yw1OG c md.exeちょいちょいアプデされてるからな
プロパティで[レガシーコンソールを使用する]をオンにしたら昔の仕様になるかもよ
プロパティで[レガシーコンソールを使用する]をオンにしたら昔の仕様になるかもよ
232デフォルトの名無しさん
2021/03/22(月) 11:33:33.41ID:IKUBKfoT >>230
たぶん2017年に変った
Windows 10 build 16257
https://devblogs.microsoft.com/commandline/updating-the-windows-console-colors/
たぶん2017年に変った
Windows 10 build 16257
https://devblogs.microsoft.com/commandline/updating-the-windows-console-colors/
233デフォルトの名無しさん
2021/03/22(月) 12:49:31.12ID:qU+vdcAr c md.exeってNGなのかよ
234デフォルトの名無しさん
2021/03/22(月) 12:58:34.93ID:IKUBKfoT cmdで実行できるのに.exe付けるとNGとか意味不明だよな
235デフォルトの名無しさん
2021/03/22(月) 13:03:44.31ID:qU+vdcAr command.com
powershell.exe
powershell.exe
236デフォルトの名無しさん
2021/03/22(月) 13:27:25.65ID:yqDq0P8A 以前それを含むウィルスの一部コードだと思われるものが貼られまくったせいだと思う
237デフォルトの名無しさん
2021/03/22(月) 13:29:51.79ID:yqDq0P8A 補足しておくと、ノートンが反応しまくってスレdatファイルを消しちゃうので
スレが見れない連発ね
スレが見れない連発ね
238デフォルトの名無しさん
2021/03/22(月) 13:47:35.81ID:IKUBKfoT cmd とか "cmd".exe とか %comspec% とか穴だらけ
239デフォルトの名無しさん
2021/03/22(月) 17:20:06.07ID:YZ6QCAld cmd.exe
これでどうだ?
これでどうだ?
240デフォルトの名無しさん
2021/03/22(月) 21:10:49.47ID:ERIrsy59241デフォルトの名無しさん
2021/03/22(月) 21:18:24.54ID:ERIrsy59 しかしMS-DOS時代みたいなあのどぎつい黄色が良かったんだがなあ・・・残念・・・
242デフォルトの名無しさん
2021/03/22(月) 22:23:48.05ID:FrFq7CFg ANSY.SYSのおもひで
243デフォルトの名無しさん
2021/03/22(月) 23:49:54.90ID:IKUBKfoT244デフォルトの名無しさん
2021/03/23(火) 00:45:55.21ID:5blhcD6i >>242
ANSI.SYSな
ANSI.SYSな
245デフォルトの名無しさん
2021/03/23(火) 02:32:13.78ID:QbxOC6mC >>244
あい
あい
246241
2021/03/23(火) 22:14:27.04ID:lgCFvm/4247デフォルトの名無しさん
2021/03/24(水) 14:20:41.98ID:yj6gJxmr 漏れは、WSL2 のコンソールが見にくいので、
Microsoft 製のColorTool で、配色テーマを変えてる
多分これも、レジストリをいじっている
Microsoft 製のColorTool で、配色テーマを変えてる
多分これも、レジストリをいじっている
248デフォルトの名無しさん
2021/03/24(水) 16:41:09.17ID:cQ6WYo0q249デフォルトの名無しさん
2021/03/24(水) 18:12:34.74ID:uMlO6v/T >>248
ディレクトリを指定して開けないので使いづらい
ディレクトリを指定して開けないので使いづらい
250デフォルトの名無しさん
2021/03/24(水) 19:38:25.90ID:d/Fx9DKH >>249
-dで指定できない?
-dで指定できない?
251デフォルトの名無しさん
2021/03/24(水) 21:27:53.44ID:KCz6csQE >>250
改めてアップデートしてみた試したけど
最近のバージョンだと、指定できるようになったんだな
さらに1.6でコンテキストメニューにデフォルトで登録されるようになってた
ただ、相変わらずライブラリやドライブで開くことはできないようだねぇ
改めてアップデートしてみた試したけど
最近のバージョンだと、指定できるようになったんだな
さらに1.6でコンテキストメニューにデフォルトで登録されるようになってた
ただ、相変わらずライブラリやドライブで開くことはできないようだねぇ
252デフォルトの名無しさん
2021/03/26(金) 15:46:43.29ID:9VbgFvvG253デフォルトの名無しさん
2021/03/26(金) 17:43:50.10ID:vSybir0X ストアアプリという時点でゴミ
254デフォルトの名無しさん
2021/03/26(金) 18:20:21.52ID:moYXNnAH ストアアプリもマトモなやつは増えてきたよ
UWPのタブレットUI強制やら特大ウンチ機能制限やらがだいぶ撤廃されて、デスクトップアプリと大差なくなったからね、ようやく
まぁ遅きに失した感あるんですがね
UWPのタブレットUI強制やら特大ウンチ機能制限やらがだいぶ撤廃されて、デスクトップアプリと大差なくなったからね、ようやく
まぁ遅きに失した感あるんですがね
255デフォルトの名無しさん
2021/03/26(金) 20:02:56.96ID:Wy51+x+D wt画面に複数ファイルD&Dすると全部表示されて便利だわ
コマンドの引数に使える
cmd画面だと一個だけだ
コマンドの引数に使える
cmd画面だと一個だけだ
256デフォルトの名無しさん
2021/03/26(金) 20:16:38.66ID:yyPdQtcN ストアって時点でマトモとかそういう問題じゃないんだがな
OSにプリインストールでもされてれば別だが
OSにプリインストールでもされてれば別だが
257デフォルトの名無しさん
2021/03/26(金) 20:25:35.57ID:yyPdQtcN gitにPreinstallKit.zipってあるのな
ゴミは撤回しとくわ
ゴミは撤回しとくわ
258デフォルトの名無しさん
2021/03/26(金) 20:41:58.26ID:Wy51+x+D conhost.exe使ってれば
259デフォルトの名無しさん
2021/03/26(金) 20:44:09.41ID:MahXm1Ia こんなこと言うと怒られるけど早くOS標準にしてくんないかな
260デフォルトの名無しさん
2021/03/26(金) 20:57:10.75ID:Wy51+x+D まだ動作が若干あやしいぞ
カーソルがずれてたり
意味不明な文字が表示されたり
カーソルがずれてたり
意味不明な文字が表示されたり
261デフォルトの名無しさん
2021/04/03(土) 13:19:14.73ID:YB/KO+42 batファイルで並列処理するのってやっぱ無謀?
フォルダ内の画像を4並列で別の形式に変換したいみたいなやつ
フォルダ内の画像を4並列で別の形式に変換したいみたいなやつ
262デフォルトの名無しさん
2021/04/03(土) 13:43:34.69ID:vSOTAguS >>261
過去ログにあるから漁れ
過去ログにあるから漁れ
263デフォルトの名無しさん
2021/04/03(土) 18:07:00.76ID:YB/KO+42 >>262
%10までのスレを「並列」で検索したけどそれらしいものは見つからなかったよ
%10までのスレを「並列」で検索したけどそれらしいものは見つからなかったよ
264デフォルトの名無しさん
2021/04/03(土) 19:12:28.03ID:vSOTAguS265デフォルトの名無しさん
2021/04/03(土) 19:48:52.56ID:YB/KO+42266デフォルトの名無しさん
2021/04/03(土) 21:06:39.36ID:vSOTAguS ただなあ
画像変換ごとき瞬時に終わるのでタスク監視でカウントしてる暇がないんじゃないかと
画像変換ごとき瞬時に終わるのでタスク監視でカウントしてる暇がないんじゃないかと
267デフォルトの名無しさん
2021/04/03(土) 21:39:55.57ID:YWCwVZAz 何か昔書いたレスが掘り起こされてるw
画像だったら RalphaPlus を使っちゃうな
フリーでないシェア版だけど64bit版でメモリ不足になることもまずなくて、
32bit版では落ちてしまうような、大きめな16画像並列とかやっても問題ないし、
変換設定ファイルをいくつも作成できるので、バッチから呼び出すのにも
都合よくて便利、おすすめ
4並列程度ならフリーのでも多分問題ないと思う、並列処理の並列(多重起動)したいなら
シェア版が必要になるけど
画像だったら RalphaPlus を使っちゃうな
フリーでないシェア版だけど64bit版でメモリ不足になることもまずなくて、
32bit版では落ちてしまうような、大きめな16画像並列とかやっても問題ないし、
変換設定ファイルをいくつも作成できるので、バッチから呼び出すのにも
都合よくて便利、おすすめ
4並列程度ならフリーのでも多分問題ないと思う、並列処理の並列(多重起動)したいなら
シェア版が必要になるけど
268デフォルトの名無しさん
2021/04/03(土) 21:40:52.86ID:YB/KO+42269デフォルトの名無しさん
2021/04/04(日) 12:25:17.64ID:BHN4NYpU 外部ツールに頼るんならpwshの力ちょっも借りてもいいのでは
echo file1 ... | % -parallel {コマンド $_; ...}
$_はfile_n、ジョブ数のデフォルトは5
もしかしたらプリインストールの古いやつでは動かないかも
echo file1 ... | % -parallel {コマンド $_; ...}
$_はfile_n、ジョブ数のデフォルトは5
もしかしたらプリインストールの古いやつでは動かないかも
270デフォルトの名無しさん
2021/04/09(金) 23:29:04.49ID:0EdakHoK すみません、勉強不足なのですが教えていただけますでしょうか。
コマンドプロンプトで、出力結果から特定の値だけ抜き出したいのですが、
1行に表示される一部だけ 文字数以外で指定ってできないでしょうか?
ADのユーザ名を検索して日本語名だけ抽出したいのですが
dsquery user -samid "username" で検索して出てくる
"CN=XXX XXX,OU=ouname,DC=Dcname,DC=local "
CN= のあとのXXX XXXだけ変数にいれたいのですが出来なくて困っています。
コマンドプロンプトで、出力結果から特定の値だけ抜き出したいのですが、
1行に表示される一部だけ 文字数以外で指定ってできないでしょうか?
ADのユーザ名を検索して日本語名だけ抽出したいのですが
dsquery user -samid "username" で検索して出てくる
"CN=XXX XXX,OU=ouname,DC=Dcname,DC=local "
CN= のあとのXXX XXXだけ変数にいれたいのですが出来なくて困っています。
271デフォルトの名無しさん
2021/04/10(土) 00:43:06.37ID:lls/f8GA for /f "delims==, tokens=2" %%i in ("CN=XXX XXX,OU=ouname,DC=Dcname,DC=local ") do echo %%i
272デフォルトの名無しさん
2021/04/10(土) 11:17:28.20ID:QzAXiJxN >>271
ありがとうございます。
そもそも自分のやりたいこと書かずにすみません、
自分の環境なのかうまくうごきませんでした。
batファイルでADから実行している利用者情報をCSVかなにかでエクスポートしようとしていまして
usernameだとログイン中のIDで表示されるので
dsquery user -samid %usernam%
とやって、cn=に出てくる日本語名だけを抽出したかったのですが、
皆さまだったらどのような方法をされるのでしょうか。
ありがとうございます。
そもそも自分のやりたいこと書かずにすみません、
自分の環境なのかうまくうごきませんでした。
batファイルでADから実行している利用者情報をCSVかなにかでエクスポートしようとしていまして
usernameだとログイン中のIDで表示されるので
dsquery user -samid %usernam%
とやって、cn=に出てくる日本語名だけを抽出したかったのですが、
皆さまだったらどのような方法をされるのでしょうか。
273デフォルトの名無しさん
2021/04/10(土) 12:23:55.67ID:bRqDVIlt 現在進行系の質問ありますけど追加質問させてください
for /F %A in ("テスト") do echo %A %A
としたときに「テスト テスト」が出力されますが
「テスト %A」を出したいときはどうすればいいですか?
for /F %A in ("テスト") do echo %A %A
としたときに「テスト テスト」が出力されますが
「テスト %A」を出したいときはどうすればいいですか?
274デフォルトの名無しさん
2021/04/10(土) 12:28:34.76ID:bRqDVIlt 連投すみません
for /F %B in ("テスト") do echo %B %A
もありなんですけど%のエスケープ知りたいです
for /F %B in ("テスト") do echo %B %A
もありなんですけど%のエスケープ知りたいです
275デフォルトの名無しさん
2021/04/10(土) 13:02:42.59ID:lls/f8GA こっちでは dsquery を試せないので推測で
@echo off
for /f "delims==, tokens=2" %%i in ('dsquery user -samid %USERNAM%') do set ver=%%i
echo %ver%
pause
@echo off
for /f "delims==, tokens=2" %%i in ('dsquery user -samid %USERNAM%') do set ver=%%i
echo %ver%
pause
276デフォルトの名無しさん
2021/04/10(土) 13:04:44.20ID:lls/f8GA バッチで実行して
277デフォルトの名無しさん
2021/04/10(土) 13:10:22.83ID:lls/f8GA よくわからんが %USERNAM% でいいの? E は?
278デフォルトの名無しさん
2021/04/10(土) 13:13:27.40ID:IU1rFRRP279デフォルトの名無しさん
2021/04/10(土) 13:39:39.87ID:ULgsRvVE フィルタリング機能はおそまつなので
275のように一旦全部のユーザーをファイルに書き出してやったほうがいい
あとはテキストエディタでも表作製ソフトでもPowershellとかでもいいけど
正規表現でフィルターすればいい
というかdsqueryコマンドにフィルター機能ぐらいありそうなもんだけど
別のコマンドと組み合わせて使うならエスケープ文字は^なので
for 〜 in ('dsquery 〜^|dsget 〜')
275のように一旦全部のユーザーをファイルに書き出してやったほうがいい
あとはテキストエディタでも表作製ソフトでもPowershellとかでもいいけど
正規表現でフィルターすればいい
というかdsqueryコマンドにフィルター機能ぐらいありそうなもんだけど
別のコマンドと組み合わせて使うならエスケープ文字は^なので
for 〜 in ('dsquery 〜^|dsget 〜')
280デフォルトの名無しさん
2021/04/10(土) 13:46:42.23ID:ULgsRvVE unicodeが使われてる可能性もあるので
安全性を取るならbatを使わずにdsqueryの出力を直接ファイルに書いた後に加工するのがいいかも
とかcsvとか言ってるのでどうせエクセルとかで使うんなら
そのまま"CN=〜"の出力を読み込ませたあとで加工とかも出来そうなもんだけど
安全性を取るならbatを使わずにdsqueryの出力を直接ファイルに書いた後に加工するのがいいかも
とかcsvとか言ってるのでどうせエクセルとかで使うんなら
そのまま"CN=〜"の出力を読み込ませたあとで加工とかも出来そうなもんだけど
281デフォルトの名無しさん
2021/04/10(土) 14:16:22.00ID:ULgsRvVE あれ全ユーザーとかじゃなくて一つのユーザーだけなのか
どっちにしろPowershellでやった方が楽だと思うよ
どっちにしろPowershellでやった方が楽だと思うよ
282デフォルトの名無しさん
2021/04/10(土) 20:33:13.55ID:hTFrpgtD >>272 こんな感じかなあ
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /F "tokens=1* delims=," %%I in ( 'dsquery user -samid %usernam%' ) do (
set HEAD=%%I
set TAIL=%%J
:LOOP
if "!HEAD!" == "" goto :NEXT
for /F "tokens=1* delims==" %%I in ( "!HEAD!" ) do (
if "%%I" == "CN" set CN=%%J
)
for /F "tokens=1* delims=," %%I in ( "!TAIL!" ) do (
set HEAD=%%I
set TAIL=%%J
goto :LOOP
)
:NEXT
echo.!CN!
)
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /F "tokens=1* delims=," %%I in ( 'dsquery user -samid %usernam%' ) do (
set HEAD=%%I
set TAIL=%%J
:LOOP
if "!HEAD!" == "" goto :NEXT
for /F "tokens=1* delims==" %%I in ( "!HEAD!" ) do (
if "%%I" == "CN" set CN=%%J
)
for /F "tokens=1* delims=," %%I in ( "!TAIL!" ) do (
set HEAD=%%I
set TAIL=%%J
goto :LOOP
)
:NEXT
echo.!CN!
)
283デフォルトの名無しさん
2021/04/10(土) 22:12:46.25ID:kfNVSQGB284デフォルトの名無しさん
2021/04/11(日) 00:53:55.03ID:X+5g0Z/F >>275
ありがとうございます。%username%ですね Eが抜けました。
CSVはエクセルではなくてserverにOffice入れてないと、adidの日本語名にするのもちょっと骨でした。
ご指摘通りpowershellでできればいいのでしょうが
powershellは出来る人がいないのとバッチが多すぎて一部分を直して運用していました。
ありがとうございます。%username%ですね Eが抜けました。
CSVはエクセルではなくてserverにOffice入れてないと、adidの日本語名にするのもちょっと骨でした。
ご指摘通りpowershellでできればいいのでしょうが
powershellは出来る人がいないのとバッチが多すぎて一部分を直して運用していました。
285デフォルトの名無しさん
2021/04/11(日) 05:12:32.83ID:8j1o2avA for /F %A in ("テスト") do @echo %A %^^A| more
286デフォルトの名無しさん
2021/04/26(月) 14:11:50.54ID:FVrz/3IC 実行中のプロセスのCPUアフィニティを変更するコマンドは何ですか?
タスクマネージャの[詳細]タブで変更したり、
startコマンドの/affinityスイッチは知ってます。
ちなみに、目的はshogigui.exeとaperyに同じコアを使わせないことです。
タスクマネージャの[詳細]タブで変更したり、
startコマンドの/affinityスイッチは知ってます。
ちなみに、目的はshogigui.exeとaperyに同じコアを使わせないことです。
287デフォルトの名無しさん
2021/04/26(月) 16:39:41.34ID:5VqWgajG Vector に LimitCPU とかあるけど使った事ない
288デフォルトの名無しさん
2021/04/26(月) 17:25:33.86ID:vupwGLI3 実行中のプロセスで変更するコマンドって見当たらないな
タスクマネージャーとかのGUIアプリしか見つからない
俺も知りたいわ
タスクマネージャーとかのGUIアプリしか見つからない
俺も知りたいわ
289デフォルトの名無しさん
2021/04/26(月) 18:44:26.08ID:g+6GvbLi SET
powershell -c "(get-process hoge).processoraffinity=1"
GET
powershell -c "get-process hoge|select-object processoraffinity"
powershell -c "(get-process hoge).processoraffinity=1"
GET
powershell -c "get-process hoge|select-object processoraffinity"
290デフォルトの名無しさん
2021/04/26(月) 19:13:44.30ID:g+6GvbLi GET/SETで分けることもないか(代入か否かで)
あと、同じプロセスイメージが複数ある場合の例(psはget-processのalias)
powershell -c "ps chrome|%{$_.processoraffinity}
あと、同じプロセスイメージが複数ある場合の例(psはget-processのalias)
powershell -c "ps chrome|%{$_.processoraffinity}
291デフォルトの名無しさん
2021/04/27(火) 11:42:30.79ID:SlvFgNx9292デフォルトの名無しさん
2021/04/28(水) 18:09:24.25ID:TBHOCaij 実行中のプロセスをキルした後、exeを起動する.batは組めないでしょうか?
ご教授お願いしたいです。
ご教授お願いしたいです。
293デフォルトの名無しさん
2021/04/28(水) 19:31:14.30ID:Sz6ocakQ 実行中のプロセスを全部キルしたら多分Windowsがまともに動かなくなるぞ
294デフォルトの名無しさん
2021/04/29(木) 12:33:19.43ID:UHw0q87H taskkillしてstartすりゃいいんじゃねーの
295デフォルトの名無しさん
2021/04/30(金) 13:18:51.37ID:QntBUF73 プロセスが自爆して自分の死後にexeを起動って意味?
296デフォルトの名無しさん
2021/04/30(金) 13:34:43.19ID:KlpY5+7M >>292
キルしてもすぐ消えないプロセスがあるから失敗するということかな
キルしたらもう一度プロセスが消えたかどうか確認しあればまたキルする
消えたら再起動
live2chは終了やキルしても消えない時がある(ゾンビ)
キルしてもすぐ消えないプロセスがあるから失敗するということかな
キルしたらもう一度プロセスが消えたかどうか確認しあればまたキルする
消えたら再起動
live2chは終了やキルしても消えない時がある(ゾンビ)
297デフォルトの名無しさん
2021/04/30(金) 22:44:43.29ID:1FoMz0PJ 強制終了なんてするもんじゃないのよ
298デフォルトの名無しさん
2021/05/05(水) 17:03:35.09ID:jBlPB1Jr299デフォルトの名無しさん
2021/05/05(水) 17:56:35.30ID:PPo4cFAu killできない場合のことを考えておくことだね
じゃないと無限ループになる
じゃないと無限ループになる
300デフォルトの名無しさん
2021/05/11(火) 09:43:15.42ID:2aTzy8bW %0|%0
301デフォルトの名無しさん
2021/05/11(火) 13:03:03.56ID:Ql061JAF このスレってこういう呪文書く人多いよね
enabledelayedexpansionとかも呪文にしか見えないし
enabledelayedexpansionとかも呪文にしか見えないし
302デフォルトの名無しさん
2021/05/11(火) 13:35:53.83ID:IBnoRfMr にほんでいちばんさむいのはわっかないです
みたいな綴り
みたいな綴り
303デフォルトの名無しさん
2021/05/11(火) 14:14:27.26ID:2aTzy8bW 稚内は平均気温は低いけど最低気温は内陸部に負けるね
304デフォルトの名無しさん
2021/05/11(火) 14:46:36.64ID:XdIg8UA/ enable delayed expansion
305デフォルトの名無しさん
2021/05/11(火) 14:52:11.19ID:0OaQcACp /d- とどっちがいい?
306デフォルトの名無しさん
2021/05/11(火) 20:34:18.03ID:1ruivVGt EnableDelayedExpansionって書けばちょっとだけ見やすくなる
307デフォルトの名無しさん
2021/05/12(水) 02:11:31.96ID:Suipbxh4 CPU温度をコマンドで取得したいのですが、OS標準の方法は無理ですかね
WMI(ACPI)は固定値の温度が返ってきて取得不可でした
OpenHardwareMonitorもダメ(恐らく内部でWMIを呼び出してる)
当然ながらhwmonitorやCoreTempでは取得できますが、値をバッチで取り込みたいんですよね…
WMI(ACPI)は固定値の温度が返ってきて取得不可でした
OpenHardwareMonitorもダメ(恐らく内部でWMIを呼び出してる)
当然ながらhwmonitorやCoreTempでは取得できますが、値をバッチで取り込みたいんですよね…
308デフォルトの名無しさん
2021/05/12(水) 02:33:26.74ID:XehBH/T/ >>307
OpenHardwareMonitorReport
https://github.com/openhardwaremonitor/openhardwaremonitor/issues/776#issuecomment-313606249
OpenHardwareMonitorReport
https://github.com/openhardwaremonitor/openhardwaremonitor/issues/776#issuecomment-313606249
309デフォルトの名無しさん
2021/05/12(水) 20:32:09.46ID:Suipbxh4 >>307
コマンドラインに出力される以外はOpenHardwareMonitorの実行内容と同じ結果でした
1ボードマイコンのlinuxは
cputemp=`cat /sys/class/thermal/thermal_zone0/temp`
とかで簡単に温度が取れるのになんでじゃろ
コマンドラインに出力される以外はOpenHardwareMonitorの実行内容と同じ結果でした
1ボードマイコンのlinuxは
cputemp=`cat /sys/class/thermal/thermal_zone0/temp`
とかで簡単に温度が取れるのになんでじゃろ
310デフォルトの名無しさん
2021/05/12(水) 20:32:24.17ID:Suipbxh4 >>308でした
311デフォルトの名無しさん
2021/05/12(水) 21:20:49.69ID:MeE+nXbq CoreTempでログ有効にして最終行取るとか
312デフォルトの名無しさん
2021/05/12(水) 22:00:07.42ID:yHTntpLS 出力をgrepとsedあたりで拾えたけど、それじゃダメなの?
BusyBox入れておけばどちらも使える
BusyBox入れておけばどちらも使える
313デフォルトの名無しさん
2021/05/12(水) 23:05:17.82ID:Suipbxh4314デフォルトの名無しさん
2021/05/14(金) 23:44:02.34ID:T4yhaoFz おかげさまでCPU自動温度調節バッチができました
CoreTempのログ出力間隔がなぜかGUIの画面で設定が反映されないのでCoreTemp.iniを直接いじってLogInt=3;にしました
CoreTempのログ出力間隔がなぜかGUIの画面で設定が反映されないのでCoreTemp.iniを直接いじってLogInt=3;にしました
315デフォルトの名無しさん
2021/05/21(金) 14:43:20.40ID:86NTjzBm 引数で✳︎1って書いて実行するとダメで
✳︎✳︎1と書くと実行してくれるというか
✳︎1として認識してくれる
こういうのなんて言うんだっけ?
✳︎✳︎1と書くと実行してくれるというか
✳︎1として認識してくれる
こういうのなんて言うんだっけ?
316デフォルトの名無しさん
2021/05/21(金) 15:45:05.64ID:PeQGb4Ft エスケープ?
317デフォルトの名無しさん
2021/05/21(金) 15:56:12.09ID:Ui9xkSyb エスケープ文字でいいのかな?
どう伝えたらいいか迷ってました。
ありがとうございます!!
どう伝えたらいいか迷ってました。
ありがとうございます!!
318デフォルトの名無しさん
2021/07/29(木) 10:35:28.68ID:Sx47SrPe dir *1* がおかしい表示をする
319デフォルトの名無しさん
2021/07/29(木) 11:36:44.20ID:tRu2KZQa ~1は付いてるだろ
320デフォルトの名無しさん
2021/07/29(木) 17:13:03.84ID:YC90wu7g dir/x *~*
やってみろ
やってみろ
321デフォルトの名無しさん
2021/07/29(木) 19:38:39.37ID:a6W4XitR322デフォルトの名無しさん
2021/07/29(木) 19:43:02.51ID:YC90wu7g 直ぐ上のレスぐらい読め
323デフォルトの名無しさん
2021/07/29(木) 20:44:32.26ID:y5w0GI0N ttps://www.atmarkit.co.jp/fwin2k/win2ktips/1200disable83/disable83.html
324デフォルトの名無しさん
2021/07/29(木) 20:53:42.01ID:YC90wu7g dir /b | find "1"
325デフォルトの名無しさん
2021/08/22(日) 10:21:12.87ID:ROFzyAkg お教え下さい
バッチファイルでなんとかあれこれ作っているんですが、curlとjqコマンドを使ってJSONからURLを拾おうと思っています
curl -X GET %url% | jq -r .body.playback.video_link
そこで、video_linkというkeyにURLが入っているのですが、video_link[0]、video_link[1]とJSONによって何個か入っていることがあります
この時、[1]の方のURLが欲しいのですが抜き出し方が分かりません
もちろん[2]、[3]とURLが入っている事もあります
その時は一番大きい値から取りたいです
for文で配列を回して読んでnullの1個前を取る方法しか無いのでしょうか
ほとんど理解していないレベルですが、お知恵をお貸しいただければ幸いです
バッチファイルでなんとかあれこれ作っているんですが、curlとjqコマンドを使ってJSONからURLを拾おうと思っています
curl -X GET %url% | jq -r .body.playback.video_link
そこで、video_linkというkeyにURLが入っているのですが、video_link[0]、video_link[1]とJSONによって何個か入っていることがあります
この時、[1]の方のURLが欲しいのですが抜き出し方が分かりません
もちろん[2]、[3]とURLが入っている事もあります
その時は一番大きい値から取りたいです
for文で配列を回して読んでnullの1個前を取る方法しか無いのでしょうか
ほとんど理解していないレベルですが、お知恵をお貸しいただければ幸いです
326デフォルトの名無しさん
2021/08/22(日) 12:42:26.74ID:4kURdFV7327デフォルトの名無しさん
2021/08/22(日) 13:17:28.64ID:ROFzyAkg >>326
無知とはいえ、目からウロコです
ありがとうございます、大変助かりました!
あと、もう一つお聞かせ下さい
上のコマンドの結果を変数に入れたかったので、for文でdo setしたのですが、jqを使うと動作しません
for /f "usebackq" %%a (curl -X GET %henkan% | jq -r ".body.playback.video_link[-1].url) do set urlhoge=%%a
とやるとエラーになります
またもやお教えいただけると助かります
よろしくお願い致します
無知とはいえ、目からウロコです
ありがとうございます、大変助かりました!
あと、もう一つお聞かせ下さい
上のコマンドの結果を変数に入れたかったので、for文でdo setしたのですが、jqを使うと動作しません
for /f "usebackq" %%a (curl -X GET %henkan% | jq -r ".body.playback.video_link[-1].url) do set urlhoge=%%a
とやるとエラーになります
またもやお教えいただけると助かります
よろしくお願い致します
328デフォルトの名無しさん
2021/08/22(日) 13:25:20.71ID:ROFzyAkg 連投すみません
自己解決しました
パイプで別のコマンドを繋げてる時はカッコ内では | だけではなく ^| としなくてはならないのですね
自己解決しました
パイプで別のコマンドを繋げてる時はカッコ内では | だけではなく ^| としなくてはならないのですね
329デフォルトの名無しさん
2021/08/22(日) 15:01:46.57ID:QCLSPIvL 式評価が、行読み込み時とfor文の括弧内とで2回行われるので
330デフォルトの名無しさん
2021/08/22(日) 16:39:15.67ID:AGm1+oJ3331デフォルトの名無しさん
2021/08/22(日) 16:48:11.12ID:AGm1+oJ3 inもないし
332デフォルトの名無しさん
2021/08/22(日) 19:09:07.18ID:ROFzyAkg ああすみません、うる覚えてで打ってました
for /f "usebackq" %%a in (`curl -X GET %henkanurl% ^| jq -r .body.playback.video_link[-1].url`) do set m3u8url=%%a
これで無事に動きました
for /f "usebackq" %%a in (`curl -X GET %henkanurl% ^| jq -r .body.playback.video_link[-1].url`) do set m3u8url=%%a
これで無事に動きました
333デフォルトの名無しさん
2021/08/23(月) 21:28:01.99ID:Tt89WUNP >>332
う「ろ」覚えな
う「ろ」覚えな
334デフォルトの名無しさん
2021/08/23(月) 21:36:38.14ID:rdOjiFig ×うろ
○うる
○うる
335デフォルトの名無しさん
2021/08/23(月) 23:16:48.35ID:0ziHLJ5Z 売る
336デフォルトの名無しさん
2021/08/24(火) 07:13:42.95ID:ttKQ7L6u うる覚えは誤り、または誤りから派生した方言だとされている
うろ 空洞
うろん 怪しい、疑わしい、乱雑
から来ているから 「うろ覚え」 が正しいよ
見せて → 見して
などと同様の変化でもあるだろう
見(い)せ(え)て(え) → 見(い)し(い)て(え)
と母音が前の音に引っ張られ変化するパターン
言い易くなるからか幼児語などに多く見られ、都会に比べての昔の田舎の人など知能の劣る者らが用いる傾向がある
うろ 空洞
うろん 怪しい、疑わしい、乱雑
から来ているから 「うろ覚え」 が正しいよ
見せて → 見して
などと同様の変化でもあるだろう
見(い)せ(え)て(え) → 見(い)し(い)て(え)
と母音が前の音に引っ張られ変化するパターン
言い易くなるからか幼児語などに多く見られ、都会に比べての昔の田舎の人など知能の劣る者らが用いる傾向がある
337デフォルトの名無しさん
2021/08/24(火) 07:54:41.61ID:7aPnDOA3 usebackqいらん
338デフォルトの名無しさん
2021/08/24(火) 11:06:35.68ID:A9/4ufwo お世話になります。
---- boo.bat内容 -----
01: @ECHO OFF
02:
03: SET list=A B C D
04: SET n=0
05:
06: FOR %%a IN (%list%) DO (
07: ECHO %n% : %%a
08: SET /A n+=1
09: )
10:
11: ECHO %n%
----- 出力 -----
0 : A
0 : B
0 : C
0 : D
4
出力が、
0 : A
1 : B
2 : C
3 : D
4
とならないのはなぜ?
また、このような出力を得たい時はどうすればよいですか?
---- boo.bat内容 -----
01: @ECHO OFF
02:
03: SET list=A B C D
04: SET n=0
05:
06: FOR %%a IN (%list%) DO (
07: ECHO %n% : %%a
08: SET /A n+=1
09: )
10:
11: ECHO %n%
----- 出力 -----
0 : A
0 : B
0 : C
0 : D
4
出力が、
0 : A
1 : B
2 : C
3 : D
4
とならないのはなぜ?
また、このような出力を得たい時はどうすればよいですか?
339デフォルトの名無しさん
2021/08/24(火) 11:10:52.17ID:7aPnDOA3 set /? 読め
340デフォルトの名無しさん
2021/08/24(火) 11:22:21.23ID:qugHDfsR callでサブルーちんに飛ばせばカウントされるよ
for内は極力シンプルに
for内は極力シンプルに
341デフォルトの名無しさん
2021/08/24(火) 13:03:43.42ID:ttKQ7L6u @echo off &setlocal enabledelayedexpansion
set "LIST=A B C D"
set N=0
for %%a in (%LIST%) do echo !N! : %%~a&set /a N+=1
echo %N%
pause &exit /b
set "LIST=A B C D"
set N=0
for %%a in (%LIST%) do echo !N! : %%~a&set /a N+=1
echo %N%
pause &exit /b
342デフォルトの名無しさん
2021/08/25(水) 00:21:43.26ID:NZXLvzYN 07: CALL ECHO %%n%% : %%%%a
343338
2021/08/25(水) 08:35:00.27ID:CHwZclnY 340,341,342 ありがとう。
遅延?がどうこうって、勉強になりました。
単純な展開ですので、341の !var! 展開を使います。
遅延?がどうこうって、勉強になりました。
単純な展開ですので、341の !var! 展開を使います。
344デフォルトの名無しさん
2021/08/25(水) 12:37:01.24ID:sbFyoxUW ヘルプ読んでから質問してね
345デフォルトの名無しさん
2021/08/25(水) 15:31:20.26ID:Fod5ZYNl CALL %FILENAME%
CALL "%FILENAME%"
職場のパソコン変えたら上で動かなくて下に修正することになったんだけど仕様変更あった?
CALL "%FILENAME%"
職場のパソコン変えたら上で動かなくて下に修正することになったんだけど仕様変更あった?
346デフォルトの名無しさん
2021/08/25(水) 17:21:04.65ID:sbFyoxUW FILENAMEに区切り文字は無い?
347デフォルトの名無しさん
2021/08/25(水) 18:09:16.31ID:eN7VzoDp echo onなら環境変数展開後のコマンドラインが表示される
なにがおかしいのかステップ実行で確認してから質問してくれ
なにがおかしいのかステップ実行で確認してから質問してくれ
348デフォルトの名無しさん
2021/08/25(水) 18:59:42.87ID:rpvOn9yc >>347
ステップ実行して抜き出したのがこれなんだ
ステップ実行して抜き出したのがこれなんだ
349デフォルトの名無しさん
2021/08/25(水) 19:00:54.62ID:rpvOn9yc >>346
Onedrive同期してるフォルダーだからスペースとか今までなかったの増えてるかも
Onedrive同期してるフォルダーだからスペースとか今までなかったの増えてるかも
350デフォルトの名無しさん
2021/08/25(水) 19:11:06.73ID:sbFyoxUW 区切り文字あればそれが原因でしょ
引数がフルパスなら上位フォルダもチェック
念の為にきくけどバッチファイルだよね
引数がフルパスなら上位フォルダもチェック
念の為にきくけどバッチファイルだよね
351デフォルトの名無しさん
2021/08/25(水) 20:18:52.59ID:lzuDi78b >>345
こういう輩は、なんで自分以外がおかしい前提で話をするんだろう?
こういう輩は、なんで自分以外がおかしい前提で話をするんだろう?
352デフォルトの名無しさん
2021/08/25(水) 21:55:38.08ID:Fod5ZYNl >>351
こういうやつって掲示板にいる価値ないわ
こういうやつって掲示板にいる価値ないわ
353デフォルトの名無しさん
2021/08/25(水) 22:12:01.88ID:HCLFH+1o 差し支えの無い範囲でFILENAMEの中身とかバッチを見せればいいのでは?
354デフォルトの名無しさん
2021/08/26(木) 04:16:32.18ID:UZ8JqWyB 少なくともcmdにそんな仕様変更などあるわけ無いからね
355デフォルトの名無しさん
2021/08/26(木) 04:17:53.32ID:UZ8JqWyB 潜在バグが表に出ただけで大騒ぎすな
全部bat作ったお前が悪い
全部bat作ったお前が悪い
356デフォルトの名無しさん
2021/08/26(木) 06:46:44.11ID:dNXcmjRL FILENAME がフルパスで環境変わってスペース含むようになったとかかな
357デフォルトの名無しさん
2021/08/26(木) 16:42:40.02ID:LxJHntSN >>342
%%%%a→%%a
%%%%a→%%a
358デフォルトの名無しさん
2021/08/30(月) 09:59:58.73ID:2ApHZNp2 %FILENAME%に空白が含まれたら、最初の空白までが%1になるの当たり前じゃん
これを考え落とすって、8.3時代で頭の更新が止まったままの化石だね
これを考え落とすって、8.3時代で頭の更新が止まったままの化石だね
359デフォルトの名無しさん
2021/08/30(月) 10:57:48.15ID:cyOwxYqr まあ空白とは限らないけどね
360デフォルトの名無しさん
2021/09/01(水) 12:25:22.16ID:BpsqJM8W 複数動画ファイルをバッチにドロップしてH265で再エンコードしたいです。保存先はドロップ元と同じです。自分で作ってみたのですがうまくいきませんでした。改善点を教えてほしいです
@echo off
%~d1
cd "%~p1"
type nul > ./files.txt
SET NAME_1=%~n1
SET NAME_2=%~n2
SET NAME_3=%~n3
SET NAME_4=%~n4
SET NAME_5=%~n5
:start
IF "%~1"=="" GOTO ffmpegstart
IF "%~x1" == ".MP4" GOTO add
IF "%~x1" == ".mp4" GOTO add
GOTO next
:add
echo file "%~1" >> ./files.txt
:next
SHIFT
GOTO start
:ffmpegstart
ffmpeg.exe -i "%~p1files.txt" -c:v libx265 -c:a copy -crf 22 -tag:v hvc1 "%~p1"%NAME_1%""_k_h265.mp4"
pause
ドロップせずに、パスを書いて実行したら成功はしました。
@echo off
%~d1
cd "%~p1"
type nul > ./files.txt
SET NAME_1=%~n1
SET NAME_2=%~n2
SET NAME_3=%~n3
SET NAME_4=%~n4
SET NAME_5=%~n5
:start
IF "%~1"=="" GOTO ffmpegstart
IF "%~x1" == ".MP4" GOTO add
IF "%~x1" == ".mp4" GOTO add
GOTO next
:add
echo file "%~1" >> ./files.txt
:next
SHIFT
GOTO start
:ffmpegstart
ffmpeg.exe -i "%~p1files.txt" -c:v libx265 -c:a copy -crf 22 -tag:v hvc1 "%~p1"%NAME_1%""_k_h265.mp4"
pause
ドロップせずに、パスを書いて実行したら成功はしました。
361デフォルトの名無しさん
2021/09/01(水) 12:38:53.45ID:3LGwAbit たから echo onにしろっつってんだろ
362デフォルトの名無しさん
2021/09/01(水) 16:04:27.85ID:rR7+iwTB @echo off
:LOOP
if not exist "%~nx1" pause &exit /b
if exist "%~n1_k_h265.mp4" echo ERROR: 出力と同名のファイルが存在します&pause &exit /b
ffmpeg.exe -i "%~nx1" -c:v libx265 -c:a copy -crf 22 -tag:v hvc1 "%~n1_k_h265.mp4"
shift /1
goto :LOOP
:LOOP
if not exist "%~nx1" pause &exit /b
if exist "%~n1_k_h265.mp4" echo ERROR: 出力と同名のファイルが存在します&pause &exit /b
ffmpeg.exe -i "%~nx1" -c:v libx265 -c:a copy -crf 22 -tag:v hvc1 "%~n1_k_h265.mp4"
shift /1
goto :LOOP
363デフォルトの名無しさん
2021/09/01(水) 17:15:47.13ID:79X4wBHs364デフォルトの名無しさん
2021/09/01(水) 17:35:20.23ID:JwKVF6M3 @echo off って完成してからつけるものじゃないのか
最初からあるなんて随分と自信があるんだなぁ
最初からあるなんて随分と自信があるんだなぁ
365デフォルトの名無しさん
2021/09/01(水) 17:36:38.68ID:3SVggb9G だよな
366デフォルトの名無しさん
2021/09/01(水) 21:20:41.59ID:CWQ1EA8H >>362
ありがとうございます!
ありがとうございます!
367デフォルトの名無しさん
2021/09/01(水) 21:32:18.07ID:79X4wBHs 丸投げ質問はやめてくれ
368デフォルトの名無しさん
2021/09/01(水) 21:55:30.34ID:t7KCJs9B なんだ、>>362でうまくいったのか
つまりエラーは変換先のファイルが存在しててffmpegでエラーが出たってことだったのか
俺はエラー内容が書かれてなかったんで他のことを考えてたよ
"あい うえお.mp4"とかパスに半角空白が無くて全角空白がある場合とかね
つまりエラーは変換先のファイルが存在しててffmpegでエラーが出たってことだったのか
俺はエラー内容が書かれてなかったんで他のことを考えてたよ
"あい うえお.mp4"とかパスに半角空白が無くて全角空白がある場合とかね
369デフォルトの名無しさん
2021/09/01(水) 21:55:32.25ID:MGC13/Ge はいw
370デフォルトの名無しさん
2021/09/01(水) 22:51:40.87ID:79X4wBHs -i のところやろ
371デフォルトの名無しさん
2021/09/01(水) 23:03:16.29ID:UTT/foLD 例えば、デスクトップにショートカットを作る。
コマンドプロンプトを起動して、Ruby スクリプト・a.rb を実行する
リンク先
C:\Windows\System32\cmd@.exe /k "ruby C:/Users/Owner/Documents/a.rb"
(ただし、書き込めないので、間に@を入れました)
作業フォルダ
C:\Users\Owner\Desktop
例えば、a.rb 内では、以下のようにRubyスクリプト内で、
7zip を起動して、ドロップしたファイルのSHA256 ハッシュ値を求める
command = "C:/Program Files/7-Zip/7z.exe"
option = " h -scrcsha256 "
ARGV.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
res = `#{ '"' + command + '"' + option + '"' + full_path + '"' }` # コマンド実行
puts full_path + res + ( "-" * 20 )
end
(ARGV は配列で、そこにコマンドライン引数・ドロップしたファイルパスが渡ってくる)
それで、ショートカットに、複数のファイルをdrag&drop すると、
コマンドプロンプトが起動して、各ファイルのハッシュ値が求められる
ただし、空白入りの実行ファイルのパスの前後を、"〜" で囲む事で、
Program Files の空白文字も処理できるが、
ドロップしたファイルパスに空白文字があると、
パスの前後を、"〜" で囲んでも、エラーになって処理できない
コマンドプロンプトを起動して、Ruby スクリプト・a.rb を実行する
リンク先
C:\Windows\System32\cmd@.exe /k "ruby C:/Users/Owner/Documents/a.rb"
(ただし、書き込めないので、間に@を入れました)
作業フォルダ
C:\Users\Owner\Desktop
例えば、a.rb 内では、以下のようにRubyスクリプト内で、
7zip を起動して、ドロップしたファイルのSHA256 ハッシュ値を求める
command = "C:/Program Files/7-Zip/7z.exe"
option = " h -scrcsha256 "
ARGV.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
res = `#{ '"' + command + '"' + option + '"' + full_path + '"' }` # コマンド実行
puts full_path + res + ( "-" * 20 )
end
(ARGV は配列で、そこにコマンドライン引数・ドロップしたファイルパスが渡ってくる)
それで、ショートカットに、複数のファイルをdrag&drop すると、
コマンドプロンプトが起動して、各ファイルのハッシュ値が求められる
ただし、空白入りの実行ファイルのパスの前後を、"〜" で囲む事で、
Program Files の空白文字も処理できるが、
ドロップしたファイルパスに空白文字があると、
パスの前後を、"〜" で囲んでも、エラーになって処理できない
372デフォルトの名無しさん
2021/09/01(水) 23:06:19.43ID:79X4wBHs 突然どうした?
373デフォルトの名無しさん
2021/09/01(水) 23:11:28.11ID:79X4wBHs ハッシュほしいならcertutilつかえば
374371
2021/09/01(水) 23:21:55.11ID:UTT/foLD ハッシュ値を求めるのは、単なる例え。
ffmpeg の代わりに使っただけ
Ruby スクリプト内で、別のプログラムを呼ぶと、
ドロップされたファイルパス内の空白文字で、はまると言うこと
ffmpeg の代わりに使っただけ
Ruby スクリプト内で、別のプログラムを呼ぶと、
ドロップされたファイルパス内の空白文字で、はまると言うこと
375デフォルトの名無しさん
2021/09/01(水) 23:24:46.32ID:RTATUgNE こんなところにまでruby基地がw
376デフォルトの名無しさん
2021/09/02(木) 09:08:23.07ID:7LFIE/54 偉ぶりたい底辺コーダーや引きこもりがここぞとばかりにワラワラとw
377371
2021/09/02(木) 11:56:43.51ID:SBJQlu/e >>371
に書いたように、コマンドプロンプトから、Ruby スクリプトを起動する方法では、
ドロップしたファイルパスに空白文字があると、バグる
PowerShell から、Ruby スクリプトを起動する方法では、
ドロップした複数のファイルパスを渡す方法が分からない
結局、以下のように、Ruby スクリプトを直接起動する方法では、
空白文字でも、複数のファイルパスでも、バグらない
ショートカットのリンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/a.rb
puts ARGV # ドロップした複数のファイルパスの配列
sleep # 出力したコマンドプロンプト画面を閉じないようにする
に書いたように、コマンドプロンプトから、Ruby スクリプトを起動する方法では、
ドロップしたファイルパスに空白文字があると、バグる
PowerShell から、Ruby スクリプトを起動する方法では、
ドロップした複数のファイルパスを渡す方法が分からない
結局、以下のように、Ruby スクリプトを直接起動する方法では、
空白文字でも、複数のファイルパスでも、バグらない
ショートカットのリンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/a.rb
puts ARGV # ドロップした複数のファイルパスの配列
sleep # 出力したコマンドプロンプト画面を閉じないようにする
378デフォルトの名無しさん
2021/09/02(木) 12:14:08.51ID:ctEO1PZh379デフォルトの名無しさん
2021/09/02(木) 12:46:43.02ID:6AISeI88380デフォルトの名無しさん
2021/09/02(木) 13:31:10.74ID:ctEO1PZh >>379
https://www.google.com/search?q=windows+%E3%83%90%E3%83%83%E3%83%81+%E5%85%A5%E9%96%80
1ページ目に表示されてるサイト全部巡って読めば少しは分かるようになると思うよ
https://www.google.com/search?q=windows+%E3%83%90%E3%83%83%E3%83%81+%E5%85%A5%E9%96%80
1ページ目に表示されてるサイト全部巡って読めば少しは分かるようになると思うよ
381371
2021/09/02(木) 13:39:27.82ID:SBJQlu/e Ruby では、>>377
に書いたように、起動引数・ARGV は配列で、
そこに、ドロップした複数のファイルパスが入ってくる
出力
C:\Users\Owner\Documents\x
C:\Users\Owner\Documents\あ.txt
フォルダx と、ファイル・あ.txt
に書いたように、起動引数・ARGV は配列で、
そこに、ドロップした複数のファイルパスが入ってくる
出力
C:\Users\Owner\Documents\x
C:\Users\Owner\Documents\あ.txt
フォルダx と、ファイル・あ.txt
382デフォルトの名無しさん
2021/09/02(木) 13:48:04.44ID:siHMRGTz >>378
知らないけどffmpegが終わるまで待ちたいのでは
知らないけどffmpegが終わるまで待ちたいのでは
383デフォルトの名無しさん
2021/09/02(木) 14:17:42.40ID:D5kjhyGc >>379
前の質問もそうだが、どうして現象を説明しないの?
俺らが君のPCの画面やファイルを眺められるわけないじゃん
エラーなら、入力した内容やファイル内容やどこまで実行されててどういう状態になってるとか書かないとわからんだろ
あと362なら先頭行を削除して実行すればpauseで終了時点の状態がわかるだろ
前の質問もそうだが、どうして現象を説明しないの?
俺らが君のPCの画面やファイルを眺められるわけないじゃん
エラーなら、入力した内容やファイル内容やどこまで実行されててどういう状態になってるとか書かないとわからんだろ
あと362なら先頭行を削除して実行すればpauseで終了時点の状態がわかるだろ
384デフォルトの名無しさん
2021/09/02(木) 14:24:25.53ID:D5kjhyGc あと一個とか言ったけど、以前エラーになったオペレーションだと正常になったけど
新たに別のケースが出てきたってことか?
それとも以前エラーになったものは試してないってことか?
即答でありがとうなんて書けばこっちは正常になったと勘違いするだろ
あと、エラー状態は>>368の場合に該当しなかったということでいいか?
新たに別のケースが出てきたってことか?
それとも以前エラーになったものは試してないってことか?
即答でありがとうなんて書けばこっちは正常になったと勘違いするだろ
あと、エラー状態は>>368の場合に該当しなかったということでいいか?
385デフォルトの名無しさん
2021/09/02(木) 15:55:55.97ID:e/2zM0cp >>379
コピペったバッチはShiftJISで保存した?
ドラッグ&ドロップするファイルの上位ディレクトリの名前かファイル名に半角スペースを含めてもう一度試してみ
ファイルやパスにShiftJIS外の文字や記号を含んでいるなら削除
それでもダメだったらファイル類を「パスのコピー」してここに貼ってみな
コピペったバッチはShiftJISで保存した?
ドラッグ&ドロップするファイルの上位ディレクトリの名前かファイル名に半角スペースを含めてもう一度試してみ
ファイルやパスにShiftJIS外の文字や記号を含んでいるなら削除
それでもダメだったらファイル類を「パスのコピー」してここに貼ってみな
386デフォルトの名無しさん
2021/09/02(木) 19:03:44.33ID:lSTkj0Rg >どうして現象を説明しないの?
馬鹿につきあって解答する馬鹿がいるからです
馬鹿につきあって解答する馬鹿がいるからです
387デフォルトの名無しさん
2021/09/03(金) 08:16:34.23ID:61QsYzlD echoを理解できない初心者に説明しろと言っても無理
388デフォルトの名無しさん
2021/09/03(金) 08:53:30.59ID:VqiIv6Pi え、ちょっw(echo)
389デフォルトの名無しさん
2021/09/03(金) 19:05:48.55ID:nhGnJ2O1 素直にコード貼るだけ全然優良でしょ
オレオレ用語使う、コード端折る、妙にプライドがある奴はマジで神経擦り減る
オレオレ用語使う、コード端折る、妙にプライドがある奴はマジで神経擦り減る
390デフォルトの名無しさん
2021/09/04(土) 00:32:37.15ID:ExeocnPJ ほんとにな
完全同意だわ
完全同意だわ
391デフォルトの名無しさん
2021/09/04(土) 08:48:55.08ID:fYT9QIuD echoなんてデバッグ用に変数の値を見たくなったときにでも覚えたら良いさ
392デフォルトの名無しさん
2021/09/05(日) 20:59:18.22ID:h9G3o9Tj USBデバイス(マイク)の有効/無効を切り替えるバッチファイルを書いているんですが、
forループ内でファイルパスを展開してコマンドを実行する部分で躓いています。
()内での %DEVCON% (devcon.exeの絶対パス)の展開部分ですが
''や、usebackqを使用して``とすると、にすると半角スペースごとに別文字列として展開される
``にすると絶対パスの先頭に`が付いたパスとして認識され、ファイルが見つからないエラーになる
forループの()内で変数を展開してコマンドを実行する方法が分かりません。
以下が作成したファイルの内容です。ご教示お願いします。
@echo off
:: devcon.exeのパス(64bit)
@set DEVCON="C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"
:: マイクの無効と有効
:: AT2020USB+
:: %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
:: %DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"
FOR /F "tokens=3 usebackq" %%a IN (`%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"`) do set "STATUS=%%a"
IF "%STATUS%" == "running." (
%DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
) ELSE (
%DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"
)
forループ内でファイルパスを展開してコマンドを実行する部分で躓いています。
()内での %DEVCON% (devcon.exeの絶対パス)の展開部分ですが
''や、usebackqを使用して``とすると、にすると半角スペースごとに別文字列として展開される
``にすると絶対パスの先頭に`が付いたパスとして認識され、ファイルが見つからないエラーになる
forループの()内で変数を展開してコマンドを実行する方法が分かりません。
以下が作成したファイルの内容です。ご教示お願いします。
@echo off
:: devcon.exeのパス(64bit)
@set DEVCON="C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"
:: マイクの無効と有効
:: AT2020USB+
:: %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
:: %DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"
FOR /F "tokens=3 usebackq" %%a IN (`%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"`) do set "STATUS=%%a"
IF "%STATUS%" == "running." (
%DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
) ELSE (
%DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"
)
393392
2021/09/05(日) 21:01:57.75ID:h9G3o9Tj 抜けがありました
14 %DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
14 %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
14 %DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
14 %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
394デフォルトの名無しさん
2021/09/05(日) 21:50:58.36ID:qFDUcsKU カレントフォルダをC:\Program Files (x86)\Windows Kits\10\Tools\x64 に移動してから
set DEVCON="devcon.exe" にしてみるとか
set DEVCON="devcon.exe" にしてみるとか
395デフォルトの名無しさん
2021/09/05(日) 22:12:50.15ID:GdXH1yQe >>392
FOR /F "tokens=3" %%a IN ('^"%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"^"') DO set "STATUS=%%a"
FOR /F "tokens=3" %%a IN ('^"%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"^"') DO set "STATUS=%%a"
396デフォルトの名無しさん
2021/09/05(日) 22:17:55.22ID:GdXH1yQe397デフォルトの名無しさん
2021/09/05(日) 23:48:28.37ID:UFxCuC9Y 漏れは、ショートカットにDrag and Drop してみた結果、
結論として、コマンドプロンプトでは、ファイルパス中の半角空白を処理できない
PowerShell(PS)でも難しいかも
漏れは結局、Ruby を使っている
特に、コマンドプロンプトだけはやめて、PSを使った方が、マシかも
結論として、コマンドプロンプトでは、ファイルパス中の半角空白を処理できない
PowerShell(PS)でも難しいかも
漏れは結局、Ruby を使っている
特に、コマンドプロンプトだけはやめて、PSを使った方が、マシかも
398デフォルトの名無しさん
2021/09/05(日) 23:54:22.00ID:GdXH1yQe 上のはそういう話じゃない
399デフォルトの名無しさん
2021/09/06(月) 00:15:22.61ID:x7bnJBcc >>396
両端に"がこなくするってのはアイデアだな
両端に"がこなくするってのはアイデアだな
401デフォルトの名無しさん
2021/09/06(月) 07:15:12.30ID:yJI9//ND ほえ〜、横からだけど目からウロコだわ >>396
為になった、さんきゅう
為になった、さんきゅう
402デフォルトの名無しさん
2021/09/17(金) 15:37:36.70ID:gyqQtjrG 質問です。
メモ帳に「移動元のファイルの場所 移動先のファイルの場所」が絶対パスで半角スペースで区切られています。
これを読み込み指示通りにファイルを移動させたいのですがどのように書くといいでしょうか?
また、リネームする必要があるファイルもあるのですがどうするといいでしょうか?
「C:\aa\bb.jpg D:\aa\cc.jpg」
メモ帳に「移動元のファイルの場所 移動先のファイルの場所」が絶対パスで半角スペースで区切られています。
これを読み込み指示通りにファイルを移動させたいのですがどのように書くといいでしょうか?
また、リネームする必要があるファイルもあるのですがどうするといいでしょうか?
「C:\aa\bb.jpg D:\aa\cc.jpg」
403デフォルトの名無しさん
2021/09/17(金) 17:20:03.57ID:i/XCCF5h forで読んでmoveで移動
もしechoの分からない人ならやめとけ
もしechoの分からない人ならやめとけ
404デフォルトの名無しさん
2021/09/17(金) 22:37:54.43ID:vaLPoEyz 「for バッチファイル」でググって訳がわからないようなら 、適当なエディタで開いて、" でくくるのを前提に
行頭、スペースとドライブ文字、行末、を置換してbatファイルとして名前を付けて保存
move "C:\aa\bb.jpg" "D:\aa\cc.jpg"
みたいになるように
なを、ファイル名にsjisじゃない何かが無い前提
行頭、スペースとドライブ文字、行末、を置換してbatファイルとして名前を付けて保存
move "C:\aa\bb.jpg" "D:\aa\cc.jpg"
みたいになるように
なを、ファイル名にsjisじゃない何かが無い前提
405デフォルトの名無しさん
2021/09/17(金) 23:29:19.93ID:O1PoA15N バッチは、ややこしい。
Power Shell, Ruby などでやれば?
それに、そのファイルは半角空白で区切っているけど、
Windows では、ファイルパスに半角空白も入るから、バグるので、
普通に、CSV 形式にすると良い。
その代わり、CSVパーサーが必要になるけど
タブ区切りのTSV も良い。
さすがにタブ文字・改行コードは、ファイルパスには入らないだろうから、簡単に取り出せる
Power Shell, Ruby などでやれば?
それに、そのファイルは半角空白で区切っているけど、
Windows では、ファイルパスに半角空白も入るから、バグるので、
普通に、CSV 形式にすると良い。
その代わり、CSVパーサーが必要になるけど
タブ区切りのTSV も良い。
さすがにタブ文字・改行コードは、ファイルパスには入らないだろうから、簡単に取り出せる
406デフォルトの名無しさん
2021/09/18(土) 00:13:27.23ID:q5iJ5tLu for /f "tokens=1* delims= " %%a in (List.txt) do (
set ERR=
if not exist "%%~a" set /a ERR+=2
if exist "%%~b" set /a ERR+=1
if not defined ERR (move "%%~a" "%%~b") else call echo ERROR:%%ERR%% "%%~a" "%%~b">>errlog.txt
)
pause
set ERR=
if not exist "%%~a" set /a ERR+=2
if exist "%%~b" set /a ERR+=1
if not defined ERR (move "%%~a" "%%~b") else call echo ERROR:%%ERR%% "%%~a" "%%~b">>errlog.txt
)
pause
407デフォルトの名無しさん
2021/09/18(土) 06:22:21.02ID:KTV+OCDB 横からすまんが半角スペース入りパスだとダメだよそれ
408デフォルトの名無しさん
2021/09/18(土) 06:34:39.03ID:KTV+OCDB 移動先フォルダがないとmdで作成してやらんとエラーになるし
移動先に同名の既存ファイルがあるかも知れないし
移動先に同名の既存ファイルがあるかも知れないし
409デフォルトの名無しさん
2021/09/18(土) 07:21:16.02ID:ALBIVGfh410デフォルトの名無しさん
2021/09/18(土) 08:54:34.49ID:d7JASW2c411デフォルトの名無しさん
2021/09/18(土) 11:01:52.40ID:7qS0Ehxx 書き捨てにするようなコードを「かも知れない」で必要以上無駄に肥大化させるのはゴミ屋敷住人と同じ愚かな思考
412デフォルトの名無しさん
2021/09/18(土) 12:50:48.70ID:1ehO0L4U 世の中にはプログラムすること自体が好きな人がいるんだよ
誰もが間違いなくその恩恵にあずかっているのに小馬鹿にするやつは
自分への軽蔑の視線に気付かない愚か者だ
誰もが間違いなくその恩恵にあずかっているのに小馬鹿にするやつは
自分への軽蔑の視線に気付かない愚か者だ
413デフォルトの名無しさん
2021/09/18(土) 21:08:19.94ID:OLaJCV9P 恩恵w
言い訳が論点ズレてく感じホンモノのガイジ臭
言い訳が論点ズレてく感じホンモノのガイジ臭
414デフォルトの名無しさん
2021/09/18(土) 21:14:40.28ID:PJ3Z1C6G こんなスレで一体、何を争う?
415デフォルトの名無しさん
2021/09/18(土) 21:22:43.49ID:gRgRQYIa 別にこのスレでも書いてれば気にもとめないけどね
ただ今回はコードも貼らずに注文だけ言ってたからカチンとくる奴もいるだろうさ
ただ今回はコードも貼らずに注文だけ言ってたからカチンとくる奴もいるだろうさ
416デフォルトの名無しさん
2021/09/19(日) 03:42:58.81ID:uWgOxiqk つまり自分は書けないクセに「プログラムすること自体が好きな人」とやらにネタを提供してやってるんだと
そして自分のお陰で皆が恩恵に預かれるのだから自分は良い行いをしているんだと言いたいワケか
おいおい何様だよw
そして自分のお陰で皆が恩恵に預かれるのだから自分は良い行いをしているんだと言いたいワケか
おいおい何様だよw
417デフォルトの名無しさん
2021/09/19(日) 06:31:47.09ID:K9vn79WO C++と違ってideoneみたいのないからな
418デフォルトの名無しさん
2021/09/19(日) 09:03:44.20ID:xPOv8IOw 空白付ならデリミタを:にしてツギハギでいけそう
419デフォルトの名無しさん
2021/09/19(日) 12:51:30.97ID:/yxUr6Cy rm -f /
だよって教えればいい
だよって教えればいい
420392
2021/09/20(月) 00:58:53.63ID:we+8yYct -rfじゃないとほとんど何も消えないでしょ
421デフォルトの名無しさん
2021/09/22(水) 13:43:55.48ID:KUdKcr1X 今時バッチなんて書いてるのは物好きです
おれは物好き
バッドノウハウ大好きだ♥
おれは物好き
バッドノウハウ大好きだ♥
422デフォルトの名無しさん
2021/09/22(水) 15:39:53.65ID:oingLDSY バッチの利点
バッチ自体はウィルスにやられない
みんな違うから狙われにくい
バッチ自体はウィルスにやられない
みんな違うから狙われにくい
423デフォルトの名無しさん
2021/09/22(水) 18:39:59.79ID:1Sr76Ukf ウイルスは知らんがランサムウェアで暗号化されてナイナイはされるんじゃね?
424デフォルトの名無しさん
2021/09/22(水) 19:49:34.87ID:HbYg107O これでバッチつくればいいぉw
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
425デフォルトの名無しさん
2021/10/13(水) 18:17:21.36ID:HAnV1WZK バッチ
426デフォルトの名無しさん
2021/10/13(水) 18:25:53.79ID:HAnV1WZK バッチの作り方聞きたくてコメントを書きこうもうとしたら、
427デフォルトの名無しさん
2021/10/13(水) 18:26:29.06ID:HAnV1WZK >>426
あれ、つづき・・・
あれ、つづき・・・
428デフォルトの名無しさん
2021/10/13(水) 18:29:35.54ID:HAnV1WZK >>427
質問かこうとして、バッチのイメージを書くとなぜか、ERRORで弾かれる
質問かこうとして、バッチのイメージを書くとなぜか、ERRORで弾かれる
429デフォルトの名無しさん
2021/10/13(水) 18:36:10.32ID:Veybj1d9 cmd .exeを書いたとかそんなことか?
430デフォルトの名無しさん
2021/10/13(水) 18:45:56.14ID:bhMjP/u8 作り方w
そこから?
そこから?
431デフォルトの名無しさん
2021/10/13(水) 18:47:46.52ID:HAnV1WZK FOR DO
432デフォルトの名無しさん
2021/10/13(水) 18:48:57.34ID:HAnV1WZK しつれいしました。
fo do型式の構文を書いたらerrorになってしまう・・・
fo do型式の構文を書いたらerrorになってしまう・・・
433デフォルトの名無しさん
2021/10/13(水) 18:49:34.04ID:HAnV1WZK for do型式でした
434デフォルトの名無しさん
2021/10/13(水) 18:51:20.12ID:mAb+BQMQ for /?
これ以上の説明は掲示板では不可能だからな
これ以上の説明は掲示板では不可能だからな
435デフォルトの名無しさん
2021/10/13(水) 20:37:11.25ID:wdMk643f ここはコマンドインジェクション対策が入ってるからコード載せたいならgistとかに上げてそのURL貼ったほうが良い
436デフォルトの名無しさん
2021/10/13(水) 20:51:02.94ID:NsQsq1qz for /L %i in (0.5=1=11) do echo %i
437デフォルトの名無しさん
2021/10/13(水) 21:17:55.30ID:NsQsq1qz cmd.exe /c command
438デフォルトの名無しさん
2021/10/14(木) 02:43:30.00ID:TuHqoxKX439デフォルトの名無しさん
2021/10/15(金) 20:24:48.38ID:NLG7IfQt UUエンコードしたらダメかな
440デフォルトの名無しさん
2021/10/15(金) 21:13:25.70ID:53pJc6NQ Base64の方がいいんじゃね
certutilで変換できる
certutilで変換できる
441デフォルトの名無しさん
2021/10/15(金) 22:55:44.35ID:NLG7IfQt 書込みテスト
C:\>certutil -f -encode in.bat in.b64
C:\>certutil -f -decode in.b64 out.bat
C:\>type in.b64
-----BEGIN CERTIFICATE-----
ZWNobyBoZWxsbyB3b3JsZA0K
-----END CERTIFICATE-----
C:\>
C:\>certutil -f -encode in.bat in.b64
C:\>certutil -f -decode in.b64 out.bat
C:\>type in.b64
-----BEGIN CERTIFICATE-----
ZWNobyBoZWxsbyB3b3JsZA0K
-----END CERTIFICATE-----
C:\>
442デフォルトの名無しさん
2021/10/17(日) 13:44:53.76ID:0LRNIe6v443デフォルトの名無しさん
2021/10/17(日) 17:19:52.54ID:R7AYOhq0 データだけのやつ
C:\>certutil -f -encodehex in.bat in.b64 1
C:\>certutil -f -decodehex in.b64 out.bat 1
C:\>type in.b64
ZWNobyBoZWxsbyB3b3JsZA0K
コマンド文の最後の1を4とか12にすると16進数
C:\>certutil -f -encodehex in.bat in.b64 1
C:\>certutil -f -decodehex in.b64 out.bat 1
C:\>type in.b64
ZWNobyBoZWxsbyB3b3JsZA0K
コマンド文の最後の1を4とか12にすると16進数
444デフォルトの名無しさん
2021/10/17(日) 19:11:59.67ID:PSl5tmbR 444
445デフォルトの名無しさん
2021/10/19(火) 15:20:48.60ID:RYpZUHHW446デフォルトの名無しさん
2021/10/21(木) 01:56:17.90ID:3qM4VvHD ダブルクリックで実行した時は最後にpauseしたいけどcmd.exeからコマンド打って実行した時はpauseを省きたい
ダブルクリックはショトカから実行するようにしてショトカに目印の引数を付けておくというのは思い付いたんだけど
それ以外、バッチ自身に判定させる方法ってありますか?
ダブルクリックはショトカから実行するようにしてショトカに目印の引数を付けておくというのは思い付いたんだけど
それ以外、バッチ自身に判定させる方法ってありますか?
447デフォルトの名無しさん
2021/10/21(木) 02:36:48.27ID:/W0Foxxl448デフォルトの名無しさん
2021/10/21(木) 02:55:46.15ID:/W0Foxxl 記憶違いだった
cmd.exeを起動したオリジナルコマンドラインだ
それに非公式でもない
cmd.exeを起動したオリジナルコマンドラインだ
それに非公式でもない
449デフォルトの名無しさん
2021/10/21(木) 02:58:42.54ID:lVKoKJNl @echo off
set a=%cmdcmdline%
echo hello
if /i not "%a:~1,1%"=="c" pause
set a=%cmdcmdline%
echo hello
if /i not "%a:~1,1%"=="c" pause
450デフォルトの名無しさん
2021/10/21(木) 03:54:49.34ID:3qM4VvHD451デフォルトの名無しさん
2021/10/21(木) 04:07:05.64ID:lVKoKJNl452デフォルトの名無しさん
2021/10/21(木) 04:29:14.76ID:3qM4VvHD >>451
謎な挙動しますね
echo %cmdcmdline%
として見てcmdから実行すると二度目の実行時に C となって3度目は echoはオフです となりました
if /i not "%cmdcmdline:~1.1%"=="c"
とする度にまるで
set "cmdcmdline=%cmdcmdline:~1.1%"
としてるかのような
こうならない為にわざわざ一旦setしてたんですね
なるほどです
謎な挙動しますね
echo %cmdcmdline%
として見てcmdから実行すると二度目の実行時に C となって3度目は echoはオフです となりました
if /i not "%cmdcmdline:~1.1%"=="c"
とする度にまるで
set "cmdcmdline=%cmdcmdline:~1.1%"
としてるかのような
こうならない為にわざわざ一旦setしてたんですね
なるほどです
453デフォルトの名無しさん
2021/10/21(木) 08:32:44.52ID:lVKoKJNl setlocal & if "%cmdcmdline:~1,1%"==":" pause
454デフォルトの名無しさん
2021/10/23(土) 20:34:55.19ID:ChfdQawL 自分を起動した親プロセスを特定すればいいのでは
ダブルクリックならexporer.exeになるはずだしcmd。exeならcmd。exe…なのか?
ダブルクリックならexporer.exeになるはずだしcmd。exeならcmd。exe…なのか?
455デフォルトの名無しさん
2021/10/24(日) 03:28:13.19ID:3uu+VZsn 変数が壊れてもいいなら>>453でいいやろ。ただしsetlocalはいらん。
このif条件式だとcmd画面の2度目でも失敗しない。環境によるけど。
別変数に代入してもいいが中に&等の文字あるとエラーでこける。
このif条件式だとcmd画面の2度目でも失敗しない。環境によるけど。
別変数に代入してもいいが中に&等の文字あるとエラーでこける。
456デフォルトの名無しさん
2021/10/24(日) 22:27:44.50ID:jz1DejpB 非公式変数で解決とか後々禍根を残しそうで嫌だな
457デフォルトの名無しさん
2021/10/25(月) 01:03:08.48ID:vrczGOVO では禍根を残さないバッチを頼む
458デフォルトの名無しさん
2021/10/25(月) 01:10:34.48ID:dZV3Jc+L 非公式発言は撤回してるけど?
459デフォルトの名無しさん
2021/10/29(金) 21:51:58.64ID:PNXAVzCe windowsで半角空白や&付ファイル名が許可されてるんだから
バッチファイルにD&Dやsendtoした時の
半角空白とか&の扱いはWindows側で何とかして欲しいなと思う。
バッチファイルにD&Dやsendtoした時の
半角空白とか&の扱いはWindows側で何とかして欲しいなと思う。
460デフォルトの名無しさん
2021/10/29(金) 21:54:07.20ID:tTd8I1wO バッチファイルに変換される言語&コンパイラ
https://github.com/toca/itch
https://github.com/toca/itch
461デフォルトの名無しさん
2021/10/29(金) 23:50:23.91ID:+3zqc/Sp >>459
これも%cmdcmdline%を参照して処理するしかない
これも%cmdcmdline%を参照して処理するしかない
462デフォルトの名無しさん
2021/10/30(土) 01:01:41.85ID:ZgBEU8E6 &はわざとそういう仕様にしたんだろうけど全角空白については、んなもん知るか。なんだと思う
コマンド類もANSIしか想定してないし
日本語ヘルプの間違いを正さないのも、敢えて、だろうね
毛唐共は底意地悪いというか強く出ないと何もしない
大人しくしてるととことん図に乗りナメくさる
欠陥あっても買ってくれて文句も言わず泣き寝入りしてくれるチョロい鴨としか思ってない
コマンド類もANSIしか想定してないし
日本語ヘルプの間違いを正さないのも、敢えて、だろうね
毛唐共は底意地悪いというか強く出ないと何もしない
大人しくしてるととことん図に乗りナメくさる
欠陥あっても買ってくれて文句も言わず泣き寝入りしてくれるチョロい鴨としか思ってない
463デフォルトの名無しさん
2021/10/30(土) 01:07:02.66ID:ShH7fSCq 半角空白はまだしも、全角空白はいただけない
464デフォルトの名無しさん
2021/10/30(土) 01:43:02.15ID:Y+svLIx5 cmdcmdlineを見て全部の引数に引用符を付ければいい話では
465デフォルトの名無しさん
2021/10/31(日) 00:05:13.37ID:VJFi2hrE >>464 引用符付引数表示バッチ(D&D,sendto用),拡張子はbat
@echo off & set a="%cmdcmdline:"=" "%"
for %%i in (%a:*t"=%) do if not %%i=="" set b=%%i& call :x
pause & exit
:x
if "%b:~1,1%"==" " set b=%b: =" "%
for %%j in (%b%) do if not %%j=="" echo %%j
@echo off & set a="%cmdcmdline:"=" "%"
for %%i in (%a:*t"=%) do if not %%i=="" set b=%%i& call :x
pause & exit
:x
if "%b:~1,1%"==" " set b=%b: =" "%
for %%j in (%b%) do if not %%j=="" echo %%j
466デフォルトの名無しさん
2021/10/31(日) 15:03:24.36ID:6z99IB+f 自分も結局cmdcmdline読んで置換して置換して
最後のファイルパス部分だけ""で囲みなおすとかいう技で何とかした。
けど空白&付ファイルを管理者権限オプション付けたショートカットにsendtoしたら
””の付き方の関係でコマンドエラーになってそもそも
バッチファイルすら動かせないのはどうしようもなかった。
最後のファイルパス部分だけ""で囲みなおすとかいう技で何とかした。
けど空白&付ファイルを管理者権限オプション付けたショートカットにsendtoしたら
””の付き方の関係でコマンドエラーになってそもそも
バッチファイルすら動かせないのはどうしようもなかった。
467デフォルトの名無しさん
2021/10/31(日) 16:14:17.42ID:C3Zqy8ME 普通のファイル名に&を使うのがバカ
&使うのはトリッキーな動作させる時だけ
&使うのはトリッキーな動作させる時だけ
468デフォルトの名無しさん
2021/10/31(日) 16:59:09.50ID:VJFi2hrE469デフォルトの名無しさん
2021/11/01(月) 06:54:23.99ID:jadZUHdf 引数を取得してからショートカットにまわせばいいんじゃね
start kanri.lnk 引数
start kanri.lnk 引数
470デフォルトの名無しさん
2021/11/01(月) 08:07:56.06ID:jadZUHdf だめやな
引数に"が一個でもあるとこけるわw
引数に"が一個でもあるとこけるわw
471デフォルトの名無しさん
2021/11/01(月) 08:27:08.38ID:jadZUHdf 変数もあかんしファイルで渡すしかなさそうやな
472デフォルトの名無しさん
2021/11/01(月) 12:50:11.96ID:QjI9xm4a 自分が使うバッチにファイル群なら運用回避で何とでもなるんだけど
会社の共有フォルダとかだとなんて皆使えるように使うしどうしてもな。
まあどうしようも無ければ最後はルール化して
半角全角空白記号周りのファイル名をリネームするツール回すのみだな。
会社の共有フォルダとかだとなんて皆使えるように使うしどうしてもな。
まあどうしようも無ければ最後はルール化して
半角全角空白記号周りのファイル名をリネームするツール回すのみだな。
473デフォルトの名無しさん
2021/11/02(火) 11:39:54.98ID:cNrRrDlB >>468
ファイル名じゃなくても&付きのURLってたまに処理対象になるし
ファイル名じゃなくても&付きのURLってたまに処理対象になるし
474デフォルトの名無しさん
2021/11/03(水) 10:25:06.03ID:/m7gndnZ >>466
1.バッチのショートカットを作成
2.「管理者として実行」に設定
3.リンク先の先頭にcmd /c を追加する
適用したらcmdはフルパスに変換される
これで動作するはず
管理者権限が不要ならcmd /c も不要
というかバッチに直接D&D,sendtoでもOK
1.バッチのショートカットを作成
2.「管理者として実行」に設定
3.リンク先の先頭にcmd /c を追加する
適用したらcmdはフルパスに変換される
これで動作するはず
管理者権限が不要ならcmd /c も不要
というかバッチに直接D&D,sendtoでもOK
475デフォルトの名無しさん
2021/11/03(水) 12:58:10.31ID:/m7gndnZ476デフォルトの名無しさん
2021/11/03(水) 20:10:42.41ID:/m7gndnZ477デフォルトの名無しさん
2021/11/03(水) 20:29:31.22ID:/m7gndnZ フルパスじゃないな
バッチファイル名に半角スペースか
よくわからん
バッチファイル名に半角スペースか
よくわからん
478デフォルトの名無しさん
2021/11/06(土) 21:15:51.20ID:INMdaaG1 set j=.body.playback
for /f "usebackq" %%a in (`curl %h%^|jq -r %j%.video_link[-1].url`)do set m=%%a
for /f "usebackq" %%a in (`curl %h%^|jq -r %j%.title`)do set t=%%a
2回もJSONに参照するのが嫌だから、1回で格納したいんだけどforを1回で回して2つ格納って出来ます?
for /f "usebackq" %%a in (`curl %h%^|jq -r %j%.video_link[-1].url`)do set m=%%a
for /f "usebackq" %%a in (`curl %h%^|jq -r %j%.title`)do set t=%%a
2回もJSONに参照するのが嫌だから、1回で格納したいんだけどforを1回で回して2つ格納って出来ます?
479デフォルトの名無しさん
2021/11/07(日) 00:37:39.03ID:U3IH/L/8 >>478
ちょっとjqを調べてみたら、いくつか使える候補が見つかった
batで使いやすいのは結果が1行で出力されるもの \(),join(""),@csv
for文で、\()とjoinは任意の区切り記号、csvは区切り記号として[,]の3つを指定する
また複数行の出力場合は擬似配列変数に代入するとかでできる
【例】
長いので、入力が{"a":{"b":"foo","c":"bar","d":"baz"}}とした場合 (※.a.bは.a|.bでも良い)
1) \()
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r ".a|""\(.b),\(.d)"""`) do (
set m=%%i
set t=%%j
)
2) join("")
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r "[.a.b,.a.d]|join("""","""")"`) do (
3) ,での出力
setlocal EnableDelayedExpansion
set n=0
for /f "usebackq tokens=*" %%i in (`curl〜^|jq -r ".a.b,.a.d"`) do (
set d!n!=%%i
set /a n+=1
)
echo;%d0%
echo;%d1%
endlocal
ちょっとjqを調べてみたら、いくつか使える候補が見つかった
batで使いやすいのは結果が1行で出力されるもの \(),join(""),@csv
for文で、\()とjoinは任意の区切り記号、csvは区切り記号として[,]の3つを指定する
また複数行の出力場合は擬似配列変数に代入するとかでできる
【例】
長いので、入力が{"a":{"b":"foo","c":"bar","d":"baz"}}とした場合 (※.a.bは.a|.bでも良い)
1) \()
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r ".a|""\(.b),\(.d)"""`) do (
set m=%%i
set t=%%j
)
2) join("")
for /f "usebackq tokens=1-2 delims=," %%i in (`curl 〜^|jq -r "[.a.b,.a.d]|join("""","""")"`) do (
3) ,での出力
setlocal EnableDelayedExpansion
set n=0
for /f "usebackq tokens=*" %%i in (`curl〜^|jq -r ".a.b,.a.d"`) do (
set d!n!=%%i
set /a n+=1
)
echo;%d0%
echo;%d1%
endlocal
480デフォルトの名無しさん
2021/11/07(日) 01:01:53.46ID:U3IH/L/8 4) @csv
for /f "usebackq tokens=1-2 delims=," %%i in (`type test.json^|jq -r ".a|[.b,.d]|@csv"`) do (
set m=%%~i
set t=%%~j
)
あ、-cというのも見つけた
5) -cで配列を出力
for /f "usebackq tokens=1-2 delims=[,]" %%i in (`type test.json^|jq -c ".a|[.b,.d]"`) do (
set m=%%~i
set t=%%~j
)
for /f "usebackq tokens=1-2 delims=," %%i in (`type test.json^|jq -r ".a|[.b,.d]|@csv"`) do (
set m=%%~i
set t=%%~j
)
あ、-cというのも見つけた
5) -cで配列を出力
for /f "usebackq tokens=1-2 delims=[,]" %%i in (`type test.json^|jq -c ".a|[.b,.d]"`) do (
set m=%%~i
set t=%%~j
)
481デフォルトの名無しさん
2021/11/07(日) 01:58:35.64ID:DID0sM5T for /f "tokens=1-2 delims=," %%a in ('curl %h%^|jq %j%.video_link[-1].url,%j%.title') do set "m=%%~a"&set t=%%~b
みたいな感じで
jqの方よく分かって無いけど、カンマ区切りで両方の要素フィルタリングしてforでトークンとカンマをデリミタ指定してやれば行けそう
だけど要素にカンマが含まれてたら失敗するかも
次案
for /f "delims=" %%a in ('curl %h%') do (
for /f "usebackq" %%b in (`echo %%a^|jq -r %j%.video_link[-1].url`)do set m=%%b
for /f "usebackq" %%c in (`echo %%a^|jq -r %j%.title`)do set t=%%c
)
みたいな感じで
jqの方よく分かって無いけど、カンマ区切りで両方の要素フィルタリングしてforでトークンとカンマをデリミタ指定してやれば行けそう
だけど要素にカンマが含まれてたら失敗するかも
次案
for /f "delims=" %%a in ('curl %h%') do (
for /f "usebackq" %%b in (`echo %%a^|jq -r %j%.video_link[-1].url`)do set m=%%b
for /f "usebackq" %%c in (`echo %%a^|jq -r %j%.title`)do set t=%%c
)
482デフォルトの名無しさん
2021/11/08(月) 16:25:54.29ID:Px/K8tF9 moveで移動するときに
指定したフォルダがないときに自動で作るとかできんの?
指定したフォルダがないときに自動で作るとかできんの?
483デフォルトの名無しさん
2021/11/08(月) 17:08:44.21ID:Wv1BXJs6 存在しないとリネーム
存在するとその下に移動
結果が全く違う
エラーも出ない
確認もない
たちの悪い仕様
存在するとその下に移動
結果が全く違う
エラーも出ない
確認もない
たちの悪い仕様
484デフォルトの名無しさん
2021/11/08(月) 21:36:39.36ID:Ev0WzRyD485デフォルトの名無しさん
2021/11/08(月) 22:36:27.76ID:z+jTzavH486デフォルトの名無しさん
2021/11/08(月) 22:40:00.92ID:z+jTzavH ただ、常にダブルクォーテションで括ってやって、外さないように制御したほうがいいよ
urlによく付いてくるクエリーとかだとパラメータを&で区切って書くので
""を外すと何かとやりにくいはず
urlによく付いてくるクエリーとかだとパラメータを&で区切って書くので
""を外すと何かとやりにくいはず
487デフォルトの名無しさん
2021/11/08(月) 22:55:02.48ID:hhTd8ytG うまいも何も恐らくjqコマンドの書き方の問題でしょ
488デフォルトの名無しさん
2021/11/08(月) 22:59:09.33ID:Ev0WzRyD すまぬ、「またまたー」と思いながらやり直したら普通に動きましたw
一応、>>479-480の例1と5で試したらしっかり動きましたw
一応、>>479-480の例1と5で試したらしっかり動きましたw
489デフォルトの名無しさん
2021/11/09(火) 00:35:07.87ID:QL8KoTXD >>488
5)は区切り文字が3つもあって、どれかがurlのクエリーに使われるかもしれない
またtokens=1-2はtokens=1*にすれば2つ目(.title)にはカンマがあっても大丈夫になる
で、一番いいと思うものが区切り文字としてTABを使うもの
(まず、urlやtitleにTABコードは使わないだろう)
6) @tsv
for /f "delims=N" %%I in ('cmd /u /c echo 三') do set TAB=%%I
for /f "usebackq tokens=1* delims=%TAB%" %%i in (`type test.json^|jq -r ".a|[.b,.d]|@tsv"`) do (
set x="%%i"
set y="%%j"
)
5)は区切り文字が3つもあって、どれかがurlのクエリーに使われるかもしれない
またtokens=1-2はtokens=1*にすれば2つ目(.title)にはカンマがあっても大丈夫になる
で、一番いいと思うものが区切り文字としてTABを使うもの
(まず、urlやtitleにTABコードは使わないだろう)
6) @tsv
for /f "delims=N" %%I in ('cmd /u /c echo 三') do set TAB=%%I
for /f "usebackq tokens=1* delims=%TAB%" %%i in (`type test.json^|jq -r ".a|[.b,.d]|@tsv"`) do (
set x="%%i"
set y="%%j"
)
490デフォルトの名無しさん
2021/11/09(火) 19:41:28.06ID:5mYjFh+F バッチファイルでコマンドプロンプトを起動して
C:\>hoge
というふうに「hoge」が入力された状態にしたいんですけどどうすればいいでしょうか
cmd /k の後がわかりません・・
C:\>hoge
というふうに「hoge」が入力された状態にしたいんですけどどうすればいいでしょうか
cmd /k の後がわかりません・・
491デフォルトの名無しさん
2021/11/09(火) 20:43:47.12ID:pDzmJqw9 @cmd.exe /k "prompt C:\$Ghoge"
「入力された状態」はahkとか使わないと無理じゃないかな
「入力された状態」はahkとか使わないと無理じゃないかな
492デフォルトの名無しさん
2021/11/10(水) 01:27:11.48ID:faifycsG 定型入力を省略したいってだけなら別の方法があるけど
rem hogeの後に続く文字列を入力させる
set /p REMAIN_STR="hoge"
rem hogeと結合する
set COMPLETE_STR=hoge%REMAIN_STR%
rem 完全な文字列を表示する
echo %COMPLETE_STR%
rem hogeの後に続く文字列を入力させる
set /p REMAIN_STR="hoge"
rem hogeと結合する
set COMPLETE_STR=hoge%REMAIN_STR%
rem 完全な文字列を表示する
echo %COMPLETE_STR%
493デフォルトの名無しさん
2021/11/10(水) 02:45:03.95ID:lbp+J88v hoge はコマンドで、途中まで入力された状態にしたいとく汲み取れるんだが
494デフォルトの名無しさん
2021/11/10(水) 02:56:31.36ID:eLi1lwzp コマンドの入力が面倒ってだけなら
doskeyで適当なエイリアスを設定するだけでも十分な気が
doskeyで適当なエイリアスを設定するだけでも十分な気が
495デフォルトの名無しさん
2021/11/10(水) 07:20:19.97ID:v4FfRZjw あるデバイスが抜いてさし直さないと読み込めません
コマンドプロンプトで刺してある状態を解除して読み込め直すことは出来ないですか?
コマンドプロンプトで刺してある状態を解除して読み込め直すことは出来ないですか?
496デフォルトの名無しさん
2021/11/10(水) 07:40:32.85ID:ZzX9Joeo devconでできない?
497デフォルトの名無しさん
2021/11/20(土) 17:53:21.19ID:KiGzNUkt 質問です。
やりたいことは
「エクスプローラーで選択したフォルダをショートカットキーを使って指定したフォルダに移動」
です。
BATファイルがショートカットキーで使えるようなので
これをなんとか使えないか調べたのですがわかりませんでした。
私のやりたいことは可能でしょうか?
やりたいことは
「エクスプローラーで選択したフォルダをショートカットキーを使って指定したフォルダに移動」
です。
BATファイルがショートカットキーで使えるようなので
これをなんとか使えないか調べたのですがわかりませんでした。
私のやりたいことは可能でしょうか?
498デフォルトの名無しさん
2021/11/20(土) 21:04:55.50ID:mzO+cRkE499デフォルトの名無しさん
2021/11/20(土) 23:01:39.27ID:785tmrzC バッチ(コマンド)だけでは無理
VBか何かで「エクスプローラーで選択」のアイテムのパスを取得出来れば可能
この辺で聞いてみたら?
VB.NET質問スレ(Part44)
http://mevius.2ch.net/test/read.cgi/tech/1527325729/
【VBScript】WSHについて話し合うスレ【JScript】
http://mevius.2ch.net/test/read.cgi/tech/1578522041/
素直に選択して右クリで「送る」するならバッチでも出来る、がCtrl+X,Ctrl+Vと手間は大して変わらん
どうしてもショートカットキーワンアクションでってならエクスプローラー諦めてそれが出来そうなファイラー探す方が早い
VBか何かで「エクスプローラーで選択」のアイテムのパスを取得出来れば可能
この辺で聞いてみたら?
VB.NET質問スレ(Part44)
http://mevius.2ch.net/test/read.cgi/tech/1527325729/
【VBScript】WSHについて話し合うスレ【JScript】
http://mevius.2ch.net/test/read.cgi/tech/1578522041/
素直に選択して右クリで「送る」するならバッチでも出来る、がCtrl+X,Ctrl+Vと手間は大して変わらん
どうしてもショートカットキーワンアクションでってならエクスプローラー諦めてそれが出来そうなファイラー探す方が早い
500デフォルトの名無しさん
2021/11/21(日) 14:03:31.46ID:/SaMuAE1 OSに現在誰がログインしてるかSYSTEM権限のタスクのバッチから取得したいと考えてます。
ログイン中のユーザー自体はquery userコマンドで拾えることが判ったのですが、
他にもっと適当なコマンドがあったら教えてください。
ログイン中のユーザー自体はquery userコマンドで拾えることが判ったのですが、
他にもっと適当なコマンドがあったら教えてください。
501デフォルトの名無しさん
2021/11/21(日) 14:26:02.18ID:/CZTlOFO ナメすぎやろおまえ
知恵袋にでも逝けks
知恵袋にでも逝けks
502デフォルトの名無しさん
2021/11/21(日) 16:35:41.72ID:/hna8FyN %USERNAME% ではだめなのか
503デフォルトの名無しさん
2021/11/21(日) 16:48:36.14ID:h4R7LYQM usernameってローカルログオンしてるユーザーだけじゃななかったっけな?
system権限のbatっていうのが何なのか曖昧だけど
アカウントユーザー名のSYSTEMのことだったらダメなんじゃないか?
system権限のbatっていうのが何なのか曖昧だけど
アカウントユーザー名のSYSTEMのことだったらダメなんじゃないか?
504デフォルトの名無しさん
2021/11/21(日) 16:54:31.46ID:h4R7LYQM あと結果をecho表示させようとしてもSYSTEMからユーザーの画面に表示はされないので注意(ウィンドウが表示されない)
505デフォルトの名無しさん
2021/11/21(日) 16:57:22.70ID:h4R7LYQM 念のためechoだけじゃなくNotepad等アプリ起動してもユーザー画面には現れないということ
506デフォルトの名無しさん
2021/11/21(日) 17:20:15.98ID:h4R7LYQM スタンドアローンPC(普通の人の環境)で試してみた
%username% → PC名$
query user → 誰かがログインしてれば、ログインしてるローカルユーザー1人のみ
サーバーだとおそらくユーザー全員のリストが出るのかな?
%username% → PC名$
query user → 誰かがログインしてれば、ログインしてるローカルユーザー1人のみ
サーバーだとおそらくユーザー全員のリストが出るのかな?
507デフォルトの名無しさん
2021/11/21(日) 20:59:58.20ID:q48e3mil query userの何が気に入らないのかを教えてくれないと
508デフォルトの名無しさん
2021/11/22(月) 11:48:10.21ID:HBTqNirT >>506
普通の人の環境ではそもそも query コマンド自体が無かったりするが…
普通の人の環境ではそもそも query コマンド自体が無かったりするが…
509デフォルトの名無しさん
2021/11/22(月) 19:01:18.96ID:YF/SUs6n whoamiコマンドの結果では、systemが表示される
ダメってことだが一応報告まで
ダメってことだが一応報告まで
510デフォルトの名無しさん
2021/11/22(月) 19:11:59.58ID:YF/SUs6n さらにset userだとコンピュータ名になる
511デフォルトの名無しさん
2021/11/23(火) 08:52:09.04ID:v39GCTAR net session >nul 2>nul && goto super_user
512デフォルトの名無しさん
2021/11/23(火) 18:33:43.80ID:tf0m1Q47 Driver Booster というアプリがあります。これを (バージョンに関わらず) バッチファイルから起動したいと思います。
このアプリは C:\Program Files (x86)\IObit\Driver Booster\(バージョン番号)\DriverBooster.exe が実行ファイルです。
この (バージョン番号) 部分によらず起動するために、実行ファイル DriverBooster.exe を検索して起動しようと
以下バッチファイルを書いてみましたが、肝心のファイル検索がうまく行きません。どうしたらよいでしょうか
cd /d "C:\Program Files (x86)\IObit\Driver Booster"
for /f "delims=: tokens=1" %%i in ('where /r "C:\Program Files (x86)\IObit\Driver Booster" DriverBooster.exe') do set p=%%i
echo %p% <-- いずれ start "" /b "%p%" にする予定
pause
このアプリは C:\Program Files (x86)\IObit\Driver Booster\(バージョン番号)\DriverBooster.exe が実行ファイルです。
この (バージョン番号) 部分によらず起動するために、実行ファイル DriverBooster.exe を検索して起動しようと
以下バッチファイルを書いてみましたが、肝心のファイル検索がうまく行きません。どうしたらよいでしょうか
cd /d "C:\Program Files (x86)\IObit\Driver Booster"
for /f "delims=: tokens=1" %%i in ('where /r "C:\Program Files (x86)\IObit\Driver Booster" DriverBooster.exe') do set p=%%i
echo %p% <-- いずれ start "" /b "%p%" にする予定
pause
513デフォルトの名無しさん
2021/11/23(火) 19:09:58.73ID:/gWgBLyu pushd "C:\Program Files (x86)\IObit\Driver Booster"
set p=
for /f "delims=" %%a in ('dir /b /s DriverBooster.exe 2^>nul') do set "p=%%~a"
if defined p (echo start "" /b "%p%"
) else ( echo File Not found.
pause
set p=
for /f "delims=" %%a in ('dir /b /s DriverBooster.exe 2^>nul') do set "p=%%~a"
if defined p (echo start "" /b "%p%"
) else ( echo File Not found.
pause
514デフォルトの名無しさん
2021/11/23(火) 19:15:36.21ID:/gWgBLyu > ) else ( echo File Not found.
) else ( echo File Not found.)
閉じ括弧忘れ訂正
) else ( echo File Not found.)
閉じ括弧忘れ訂正
515デフォルトの名無しさん
2021/11/23(火) 19:37:34.23ID:tf0m1Q47 できました! 大感謝です!
516デフォルトの名無しさん
2021/11/23(火) 22:15:56.97ID:QElBq1+g for /r "C:\Program Files (x86)\IObit\Driver Booster" %%a in (DriverBooster.exe*) do start "" /b "%%~a"
517デフォルトの名無しさん
2021/11/23(火) 23:38:49.10ID:7Kq301Hb そういや
音って鳴らせないの?
特定の処理を終了したら
終了音ならしたいんだけど
音って鳴らせないの?
特定の処理を終了したら
終了音ならしたいんだけど
518デフォルトの名無しさん
2021/11/24(水) 00:22:26.48ID:GYI09rKg @echo off
for /f "delims=N" %%i in ('cmd/u/c echo 万') do set bel=%%i
echo %bel%
pause
for /f "delims=N" %%i in ('cmd/u/c echo 万') do set bel=%%i
echo %bel%
pause
519デフォルトの名無しさん
2021/11/24(水) 02:02:20.45ID:L2nveBoL powershell -c (New-Object Media.SoundPlayer 'C:\WINDOWS\Media\Windows Logon.wav').playSync();
520デフォルトの名無しさん
2021/11/24(水) 04:56:50.03ID:GYI09rKg prompt $g^G
^G はIMEオンで 0007 + F5キー
^G はIMEオンで 0007 + F5キー
521デフォルトの名無しさん
2021/11/24(水) 09:12:16.85ID:rRXxy3T6 beep
522デフォルトの名無しさん
2021/11/24(水) 13:17:12.74ID:xQvD3wWY "C::\Windows\Media\tada.wav"
523デフォルトの名無しさん
2021/11/24(水) 13:18:06.25ID:xQvD3wWY typo
"C:\Windows\Media\tada.wav"
"C:\Windows\Media\tada.wav"
524デフォルトの名無しさん
2021/11/24(水) 15:01:27.44ID:uH6oNI9g すみません、質問です。
call :hoge hogehoge.py
:hoge
python -B %1
robocopy foge
del piyo
exit /b
は、
hogehoge.pyに:hoge を追加したものを実行しているという意味合いで合っていますでしょうか。
お手数おかけして恐縮ですが、教えていただければ幸いです。
call :hoge hogehoge.py
:hoge
python -B %1
robocopy foge
del piyo
exit /b
は、
hogehoge.pyに:hoge を追加したものを実行しているという意味合いで合っていますでしょうか。
お手数おかけして恐縮ですが、教えていただければ幸いです。
525デフォルトの名無しさん
2021/11/24(水) 15:29:52.68ID:L2nveBoL call は ":hoge" というサブルーチンを "hogehoge.py" を引数として呼んでいる
サブルーチン":hoge "は :hoge から exit /b まで
「python -B %1」の%1は :hoge の第1引数、つまり "hogehoge.py"
":hoge"サブルーチン内で 「 python -B hogehoge.py 」と実行している
バッチ内に @echo off とあるのなら、@echo on と書き換えて実行すれば
コマンド類がどういう順、変数展開されて実行されているか見えるようになる
サブルーチン":hoge "は :hoge から exit /b まで
「python -B %1」の%1は :hoge の第1引数、つまり "hogehoge.py"
":hoge"サブルーチン内で 「 python -B hogehoge.py 」と実行している
バッチ内に @echo off とあるのなら、@echo on と書き換えて実行すれば
コマンド類がどういう順、変数展開されて実行されているか見えるようになる
526デフォルトの名無しさん
2021/11/24(水) 15:51:35.42ID:uH6oNI9g527デフォルトの名無しさん
2021/11/24(水) 16:06:45.19ID:xEc1Gd+0 call hoge
hoge.batを呼び出す
call hoge.batと書いたほうが間違いが少ない
call :hoge
現在のbatファイル中のラベル:hogeを呼び出す
(サブルーチンのような感じであり、呼び出すbatファイルを別に用意しなくても済む)
hoge.batを呼び出す
call hoge.batと書いたほうが間違いが少ない
call :hoge
現在のbatファイル中のラベル:hogeを呼び出す
(サブルーチンのような感じであり、呼び出すbatファイルを別に用意しなくても済む)
528デフォルトの名無しさん
2021/11/28(日) 21:32:31.71ID:/OsOh/FW explorerから.batをクリックした時
Windows Terminalで開く設定ってどうやるの?
ショートカット作ってプロパティ設定すると
非レガシーコンソールの設定もあるけどウィンドウが透明になって^vできるだけという
Windows Terminalで開く設定ってどうやるの?
ショートカット作ってプロパティ設定すると
非レガシーコンソールの設定もあるけどウィンドウが透明になって^vできるだけという
529デフォルトの名無しさん
2021/11/29(月) 14:11:09.39ID:lBCR2YeY ショートカットを以下みたいにして出来ない?
wt new-tab --title "CMD" cmd.exe /k \"フルパス\hoge.bat\"
wt new-tab --title "CMD" cmd.exe /k \"フルパス\hoge.bat\"
530デフォルトの名無しさん
2021/12/01(水) 12:20:54.06ID:+U/ofie/ 日付の計算ってvbsやパワーシェル呼び出すしかないの?
ファイル名yyyymmの今月分がなかったら先月分をリネームコピーしたいだけなんだが
ファイル名yyyymmの今月分がなかったら先月分をリネームコピーしたいだけなんだが
531デフォルトの名無しさん
2021/12/01(水) 12:52:49.40ID:jrr/ct9i SETLOCAL ENABLEDELAYEDEXPANSION
SET TODAY=%DATE%
SET YY=%TODAY:~0,4%
SET MM=%TODAY:~5,2%
IF "%MM%"=="01" (
SET /A YY=%YY%-1
SET LASTMM=!YY!12
) ELSE (
SET /A MM=%MM%-1
SET MM=0!MM!
SET LASTMM=%YY%!MM:~-2!
)
ECHO %LASTMM%
SET TODAY=%DATE%
SET YY=%TODAY:~0,4%
SET MM=%TODAY:~5,2%
IF "%MM%"=="01" (
SET /A YY=%YY%-1
SET LASTMM=!YY!12
) ELSE (
SET /A MM=%MM%-1
SET MM=0!MM!
SET LASTMM=%YY%!MM:~-2!
)
ECHO %LASTMM%
532デフォルトの名無しさん
2021/12/01(水) 13:11:55.23ID:eX2WGo0j > 今月分がなかったら先月分をリネームコピーしたいだけ
これにどう日付計算が必要なの?そもそも日付計算くらい自前で計算出来るでしょ
今月が1月の時だけ前年の12月にするくらいだね。ifで判別すればいいだけだから計算は1月の時に"年-1"するだけ
今月の取得
set Y=%date:~0,4%
set M=%date:~5,2%
Mは頭ゼロになる
12パターンしか無いんだから if "%M%"=="01" から "%M%"=="12" までずらっと並べちまえばいい
バッチなんて頭悪い書き方(の方が|で)いいんだよ
タスクスケジューラで定期実行させるのか都度月1でダブルクリックか
先月のファイルが無い場合は?遡って順次処理?ファイル名形式に合う最後のファイルを今月に?
日付計算が必要で数値としての今月はこんな感じで取得出来る
for /f "tokens=1-3 delims=/" %%a in ("%date:~0,10%") do set /a "y=%%a, m=1%%b-100, d=1%%c-100"
UNIXTIMEもワンライナーで行ける
for /f "tokens=1-7 delims=/:. " %%a in ("%date:~0,10% %time: =0%") do set /a "y=%%a, m=1%%b-100, d=1%%c-100, h=1%%d-100, n=1%%e-100, s=1%%f-100, cs=1%%g, f=!(m/3), g=y-f, k=f*12+m-3, uTime=86400*(365*g+g/4-g/100+g/400+(306*k+4)/10+d-719469)+3600*h+60*n+s"
これにどう日付計算が必要なの?そもそも日付計算くらい自前で計算出来るでしょ
今月が1月の時だけ前年の12月にするくらいだね。ifで判別すればいいだけだから計算は1月の時に"年-1"するだけ
今月の取得
set Y=%date:~0,4%
set M=%date:~5,2%
Mは頭ゼロになる
12パターンしか無いんだから if "%M%"=="01" から "%M%"=="12" までずらっと並べちまえばいい
バッチなんて頭悪い書き方(の方が|で)いいんだよ
タスクスケジューラで定期実行させるのか都度月1でダブルクリックか
先月のファイルが無い場合は?遡って順次処理?ファイル名形式に合う最後のファイルを今月に?
日付計算が必要で数値としての今月はこんな感じで取得出来る
for /f "tokens=1-3 delims=/" %%a in ("%date:~0,10%") do set /a "y=%%a, m=1%%b-100, d=1%%c-100"
UNIXTIMEもワンライナーで行ける
for /f "tokens=1-7 delims=/:. " %%a in ("%date:~0,10% %time: =0%") do set /a "y=%%a, m=1%%b-100, d=1%%c-100, h=1%%d-100, n=1%%e-100, s=1%%f-100, cs=1%%g, f=!(m/3), g=y-f, k=f*12+m-3, uTime=86400*(365*g+g/4-g/100+g/400+(306*k+4)/10+d-719469)+3600*h+60*n+s"
534デフォルトの名無しさん
2021/12/01(水) 13:53:25.27ID:eX2WGo0j 先月
for /f "tokens=1-2 delims=/" %%a in ("%date:~0,7%") do set /a "m=1%%b-101, f=!m, y=%%a-f, m=m*!f+12*f"
set m=0%m%
set m=%m:~-2%
echo %y%%m%
for /f "tokens=1-2 delims=/" %%a in ("%date:~0,7%") do set /a "m=1%%b-101, f=!m, y=%%a-f, m=m*!f+12*f"
set m=0%m%
set m=%m:~-2%
echo %y%%m%
535デフォルトの名無しさん
2021/12/01(水) 14:32:14.49ID:eX2WGo0j set /a "m=101-101, f=!m, y=2022-f, m=m+12*f"
でいい
*!fはあっても問題無いけど余計だった
でいい
*!fはあっても問題無いけど余計だった
536デフォルトの名無しさん
2021/12/01(水) 14:33:15.12ID:+U/ofie/ かなりシンプルになるな
537デフォルトの名無しさん
2021/12/01(水) 14:33:29.91ID:eX2WGo0j 訂正
set /a "m=1%%b-101, f=!m, y=%%a-f, m=m+12*f"
set /a "m=1%%b-101, f=!m, y=%%a-f, m=m+12*f"
538デフォルトの名無しさん
2021/12/01(水) 19:30:16.15ID:qmJDO3Rn for /f "tokens=1-7 delims=/:." %%1 in ("%date%.%time: =0%") do set DateTime=%%1%%2%%3%%4%%5%%6%%7
539デフォルトの名無しさん
2021/12/02(木) 12:24:38.70ID:xcTRUvQf for /f "tokens=1-2 delims=/" %%a in ("%DATE:~0,7%") do set /a "m=1%%b-101, f=!m, m+=12*f, y=%%a-f"
for /f "tokens=1-2 delims=/" %%a in ("%DATE:~0,7%") do set /a "m=1%%b-101, m+=12*(f=!m), y=%%a-f"
for /f "tokens=1-2 delims=/" %%a in ("%DATE:~0,7%") do set /a "m+=12*(f=!(m=1%%b-101)), y=%%a-f"
少し直したけど綺麗だなこれ
>>532
unixtimeも面白い
3月を頭にしてるんだな
for /f "tokens=1-2 delims=/" %%a in ("%DATE:~0,7%") do set /a "m=1%%b-101, m+=12*(f=!m), y=%%a-f"
for /f "tokens=1-2 delims=/" %%a in ("%DATE:~0,7%") do set /a "m+=12*(f=!(m=1%%b-101)), y=%%a-f"
少し直したけど綺麗だなこれ
>>532
unixtimeも面白い
3月を頭にしてるんだな
540デフォルトの名無しさん
2021/12/02(木) 21:10:02.03ID:NUCi8UEu 0:00前後に実行するとおかしなことになるから%date%と%time%はかならず一時変数に入れるべき
もっと言えば日付と時刻を同時に取れる手段を使うべき
もっと言えば日付と時刻を同時に取れる手段を使うべき
541デフォルトの名無しさん
2021/12/02(木) 22:16:15.49ID:sGas3Vn9 メモ
フェアフィールドの公式
フェアフィールドの公式
542デフォルトの名無しさん
2021/12/02(木) 22:37:42.24ID:s/MRATw/ 割とクソゴミな式な
式の意味が分かり難くなるような式変形しちゃダメだわ
敢えてやってんだろうけどさ
Wikipediaの解説とかも良く分かってないバカが書いたんだろうなと思う
まあ導出のアプローチの仕方が悪いってだけだが
式の意味が分かり難くなるような式変形しちゃダメだわ
敢えてやってんだろうけどさ
Wikipediaの解説とかも良く分かってないバカが書いたんだろうなと思う
まあ導出のアプローチの仕方が悪いってだけだが
543デフォルトの名無しさん
2021/12/04(土) 22:30:00.94ID:Nf0n5MKs 日付の質問です。
CSVの日付部分のセルのデータが壊れていて、5桁の整数になっています。
ググって調べてみたら、どうも1899/12/30が0のシリアル値のようです。
これをYYYY/MM/DDの文字列に変換したいんですが計算式がわかりません。
よろしくお願いします。
CSVの日付部分のセルのデータが壊れていて、5桁の整数になっています。
ググって調べてみたら、どうも1899/12/30が0のシリアル値のようです。
これをYYYY/MM/DDの文字列に変換したいんですが計算式がわかりません。
よろしくお願いします。
544デフォルトの名無しさん
2021/12/04(土) 23:24:36.10ID:vRpkCUu9 >>543
CDate( )
CDate( )
545デフォルトの名無しさん
2021/12/05(日) 00:20:38.02ID:KxbO9WQf >>543
エクセルあればセルの表示設定を変える
エクセルあればセルの表示設定を変える
546デフォルトの名無しさん
2021/12/05(日) 06:43:24.27ID:KxbO9WQf >>543 変数 n を変換
set /a n+=693899,a=365,b=1461,c=36524,e=146097
set /a f=n/e,g=(n+1)/e-f,n-=f,n+=(n-g)/c,f=n/b,g=(n+1)/b-f,n-=f
set /a n+=(n-g)/a*3+(n-61)/a+(n-122)/a+(n-214)/a+(n-275)/a-306
set /a y=n/372+1,m=n/31%%12+101,d=n%%31+101
set n=%y%/%m:~1%/%d:~1%
各定数は順に、
0/3/1〜1899/12/29の日数(全てグレゴリオ暦)
西暦1年から1,4,100,400年の日数
3〜4,3〜6,3〜9,3〜11,3〜12月の日数
31*12の日数
set /a n+=693899,a=365,b=1461,c=36524,e=146097
set /a f=n/e,g=(n+1)/e-f,n-=f,n+=(n-g)/c,f=n/b,g=(n+1)/b-f,n-=f
set /a n+=(n-g)/a*3+(n-61)/a+(n-122)/a+(n-214)/a+(n-275)/a-306
set /a y=n/372+1,m=n/31%%12+101,d=n%%31+101
set n=%y%/%m:~1%/%d:~1%
各定数は順に、
0/3/1〜1899/12/29の日数(全てグレゴリオ暦)
西暦1年から1,4,100,400年の日数
3〜4,3〜6,3〜9,3〜11,3〜12月の日数
31*12の日数
547デフォルトの名無しさん
2021/12/05(日) 09:15:29.34ID:/JnG12pN > 1899/12/30が0のシリアル値
まあ実質的にはそれでも間違いでは無いけど
エクセルは一応 1900/01/01 が 1
でも 1900/02/29 が存在するバグ仕様のせいで 1900/03/01 以降 +1 になってしまい 1899/12/31 が 1 のような値になってしまう
1900/03/01 以降の値しか無いなら一律で構わないけれど全てに対応させるには以下の3種必要
・1900/01/01 〜 1900/02/28
・1900/02/29
・1900/03/01 〜
2/29だけ例外で扱って残りは03/01〜の時、通日をフラグで-1する感じかな
0/3/1 を 0 とした値に直して %1 に与えたら以下の式で年月日を出せる
set /a "R=(R4=(R1oo=(R4oo=%~1%%146097)%%36524)%%1461)%%365, Y4oo=%~1/146097, Y1oo=R4oo/36524, Y4=R1oo/1461, Y1=R4/365, L=(Y1oo|Y1)/4, R+=L*365, k=(R*5+2)/153, d=R+1-(306*k+4)/10, f=k/10, m=k+3-f*12, y=400*Y4oo+100*Y1oo+4*Y4+Y1-L+f"
echo %y% / %m% / %d%
まあ実質的にはそれでも間違いでは無いけど
エクセルは一応 1900/01/01 が 1
でも 1900/02/29 が存在するバグ仕様のせいで 1900/03/01 以降 +1 になってしまい 1899/12/31 が 1 のような値になってしまう
1900/03/01 以降の値しか無いなら一律で構わないけれど全てに対応させるには以下の3種必要
・1900/01/01 〜 1900/02/28
・1900/02/29
・1900/03/01 〜
2/29だけ例外で扱って残りは03/01〜の時、通日をフラグで-1する感じかな
0/3/1 を 0 とした値に直して %1 に与えたら以下の式で年月日を出せる
set /a "R=(R4=(R1oo=(R4oo=%~1%%146097)%%36524)%%1461)%%365, Y4oo=%~1/146097, Y1oo=R4oo/36524, Y4=R1oo/1461, Y1=R4/365, L=(Y1oo|Y1)/4, R+=L*365, k=(R*5+2)/153, d=R+1-(306*k+4)/10, f=k/10, m=k+3-f*12, y=400*Y4oo+100*Y1oo+4*Y4+Y1-L+f"
echo %y% / %m% / %d%
548デフォルトの名無しさん
2021/12/05(日) 09:29:31.66ID:KxbO9WQf シリアル値が60以下がどうとかいう話だよね
質問が5桁の整数とあるので無視したよ
質問が5桁の整数とあるので無視したよ
549デフォルトの名無しさん
2021/12/05(日) 10:57:38.65ID:rW6bYpGZ もしかしてみずほの案件やってた人?
550デフォルトの名無しさん
2021/12/05(日) 11:31:10.50ID:KxbO9WQf そもそも60以下になるとソフトにより挙動が違う
Excelとは限らない
出どころ確認が先決
スレチの話だけどね
Excelとは限らない
出どころ確認が先決
スレチの話だけどね
551デフォルトの名無しさん
2021/12/05(日) 11:31:33.19ID:4iCsIwjm ワロwww
552デフォルトの名無しさん
2021/12/05(日) 11:39:17.80ID:4iCsIwjm わざわざ対応する必要なんて無いとは思うけど
定数の説明なんかよりも60以下で不正な値になるという注意書きの方が重要だわな
みずほも言われたことしかやらない企業体質がどうの言われてるね
こんな感じで小さなバグが内包しまくってるのかもなw
定数の説明なんかよりも60以下で不正な値になるという注意書きの方が重要だわな
みずほも言われたことしかやらない企業体質がどうの言われてるね
こんな感じで小さなバグが内包しまくってるのかもなw
553デフォルトの名無しさん
2021/12/06(月) 16:06:42.92ID:yBc7foB1 >>546
一旦閏日全部引いて、月が一律31日になるよう加算してるんだね
面白い
(n-61)/a+(n-122)/a+(n-214)/a+(n-275)/a
この式が4-11月の不足分を足してるんだろうけど
なんでこの式で行けるのかイメージ出来ない
一旦閏日全部引いて、月が一律31日になるよう加算してるんだね
面白い
(n-61)/a+(n-122)/a+(n-214)/a+(n-275)/a
この式が4-11月の不足分を足してるんだろうけど
なんでこの式で行けるのかイメージ出来ない
554デフォルトの名無しさん
2021/12/06(月) 19:19:45.42ID:+EfoGYZX555デフォルトの名無しさん
2021/12/07(火) 18:18:33.97ID:gm0ARZfd すみません、質問です。
SET hoge=hogehoge
robocopy c:\piyo \\server1\foge %hoge% /r:3 & if errorlevel 8 (
echoコマンド
exit /b 1
)
上記、
robocopy c:\piyo \\server1\foge %hoge%の「%hoge%」はどのような意味合いになりますでしょうか。
また、/r:3 & if errorlevel 8 ( の意味合いも教えていただけないでしょうか。
恐縮ですが、よろしくお願いいたします。
SET hoge=hogehoge
robocopy c:\piyo \\server1\foge %hoge% /r:3 & if errorlevel 8 (
echoコマンド
exit /b 1
)
上記、
robocopy c:\piyo \\server1\foge %hoge%の「%hoge%」はどのような意味合いになりますでしょうか。
また、/r:3 & if errorlevel 8 ( の意味合いも教えていただけないでしょうか。
恐縮ですが、よろしくお願いいたします。
556デフォルトの名無しさん
2021/12/07(火) 18:50:14.46ID:eGbAaLSQ robocopy /?
でヘルプが出るのでそれを読め
でヘルプが出るのでそれを読め
557デフォルトの名無しさん
2021/12/07(火) 18:52:54.40ID:eGbAaLSQ なお&は命令の区切りだけど、別に手前の命令の結果を待っての動作じゃなくて
一行前までの結果で動作するんじゃなかったかな
一行前までの結果で動作するんじゃなかったかな
558デフォルトの名無しさん
2021/12/07(火) 19:03:57.81ID:8LJtCh3/ &はコマンドを繋げているだけ
その例だと
robocopy opt
if errorlevel 8 echoコマンド&exit /b 1
と同じ
c:\piyo \\server1\foge %hoge% /r:3
がrobocopyのコマンドラインオプション
%hoge%はhogehoge
set a=xyz
echo %a%
はecho xyzと解釈されxyzと出力される
各コマンドについてはコマンドプロンプトで以下
set /?
robocopy /?
if /?
その例だと
robocopy opt
if errorlevel 8 echoコマンド&exit /b 1
と同じ
c:\piyo \\server1\foge %hoge% /r:3
がrobocopyのコマンドラインオプション
%hoge%はhogehoge
set a=xyz
echo %a%
はecho xyzと解釈されxyzと出力される
各コマンドについてはコマンドプロンプトで以下
set /?
robocopy /?
if /?
559デフォルトの名無しさん
2021/12/07(火) 19:21:14.44ID:eGbAaLSQ560デフォルトの名無しさん
2021/12/07(火) 19:26:26.54ID:eGbAaLSQ あれ違うのか
コマンドの場合は結果を見るんだな
環境変数が遅延するのか
コマンドの場合は結果を見るんだな
環境変数が遅延するのか
561デフォルトの名無しさん
2021/12/07(火) 19:34:45.64ID:8LJtCh3/ >>559
pushd .
if errorlevel 1 echo fail1
pushd a
if errorlevel 1 echo fail2
pushd .&if errorlevel 1 echo fail3
pushd a&if errorlevel 1 echo fail4
pause
試してから発言しなよ
pushd .
if errorlevel 1 echo fail1
pushd a
if errorlevel 1 echo fail2
pushd .&if errorlevel 1 echo fail3
pushd a&if errorlevel 1 echo fail4
pause
試してから発言しなよ
562デフォルトの名無しさん
2021/12/07(火) 19:38:07.87ID:eGbAaLSQ 実行時の行の展開の式評価に環境変数は展開されるってことだな
式評価に影響されないものはちゃんと実行される
&による命令の結合は
if errorlevel 1 は問題ないが
if %errorlevel% geq 1は問題がでてくる
式評価に影響されないものはちゃんと実行される
&による命令の結合は
if errorlevel 1 は問題ないが
if %errorlevel% geq 1は問題がでてくる
563デフォルトの名無しさん
2021/12/07(火) 20:35:38.31ID:FGGdMnHs 皆さまありがとうございます
cmdにて コマンド /? で見られること知りませんでした
cmdにて コマンド /? で見られること知りませんでした
564デフォルトの名無しさん
2021/12/08(水) 06:22:16.06ID:GPDURn2W 変数・条件判断など、ややこしいのは、PowerShell で作った方がよい
565デフォルトの名無しさん
2021/12/08(水) 20:11:32.12ID:g8C6QNB9 普通に「勘違いしてました。ごめんなさい。」と言えんのか
566デフォルトの名無しさん
2021/12/08(水) 20:18:14.77ID:CqDUxZrm if errorlevel とか if defined って
& で繋ぐ為にあるんじゃね?
& で繋ぐ為にあるんじゃね?
567デフォルトの名無しさん
2021/12/08(水) 21:48:59.30ID:QG3j0cZG バッチは罠が多すぎて&なんて横着しないからどうでもいい
568デフォルトの名無しさん
2021/12/08(水) 22:49:45.89ID:CqDUxZrm 他にもifやdoの括弧のなかとか
569デフォルトの名無しさん
2021/12/09(木) 10:08:38.60ID:FBbu4srV 次行に書いた方が見やすいしわざわざ&で繋ぐ意味なんてほぼ無いけど
robocopy & if errorlevel
としてるのは if errorlevel は直前のコマンドの errorlevel を評価するわけだから
「ココは直後である事に意味ありますよ。繋がっていますよ」をコード的に明示する為に次行では無く&で繋げて書いてあるんだと思う
robocopy & if errorlevel
としてるのは if errorlevel は直前のコマンドの errorlevel を評価するわけだから
「ココは直後である事に意味ありますよ。繋がっていますよ」をコード的に明示する為に次行では無く&で繋げて書いてあるんだと思う
570デフォルトの名無しさん
2021/12/09(木) 13:59:42.09ID:3uIKfwyJ &で繋ぐのは大抵そんな感じ
571デフォルトの名無しさん
2021/12/09(木) 14:06:23.73ID:7XWC/XYC 行数を少なくしたい時しか使わんかなあ
まあ使うとしても
エラーかどうかだけチェックするときは、&&,||を使うといい
まあ使うとしても
エラーかどうかだけチェックするときは、&&,||を使うといい
572デフォルトの名無しさん
2021/12/09(木) 15:08:39.73ID:CZcGE7T9573デフォルトの名無しさん
2021/12/09(木) 15:58:31.58ID:y36UsJ/D type "!TARGET_FILE!">>"!FILE_NAME!"で
テキストの中身を出力して
テキストファイルに出力するバッチファイルつくったんですけど
普段はうまく出力できたんですが
特定のファイルだけ
The system cannot find the file specified.
で中身が空になってしまいました
原因として考えられるのはなんでしょうか?
テキストの中身を出力して
テキストファイルに出力するバッチファイルつくったんですけど
普段はうまく出力できたんですが
特定のファイルだけ
The system cannot find the file specified.
で中身が空になってしまいました
原因として考えられるのはなんでしょうか?
574デフォルトの名無しさん
2021/12/09(木) 15:59:20.44ID:y36UsJ/D 中身が空というのは
本来は出力されるべきものが空になって出力された
ということです
わかりづらくてすいません
本来は出力されるべきものが空になって出力された
ということです
わかりづらくてすいません
575デフォルトの名無しさん
2021/12/09(木) 16:09:53.85ID:y36UsJ/D 自己解決です
ファイル名がおかしかったでした
すいません
ファイル名がおかしかったでした
すいません
576デフォルトの名無しさん
2021/12/10(金) 09:23:54.32ID:E/xxr9cU Windows10で、Chromeで特定の複数Webページを開くバッチファイルを作りたいと思ってます
cd /d "PATH_TO_CHROME"
"PATH_TO_CHROME\chrome.exe" "http://〇〇/〇〇"
"PATH_TO_CHROME\chrome.exe" "http://△△/△△"
↑
このようにすると指定したChromeが起動し、指定したURLを開けるところまでは
できたのですが、これだと起動したChromeのタブを閉じないとバッチファイルが
先まないので、1サイトずつ開くことしかできません
しかし
cd /d "PATH_TO_CHROME"
start "PATH_TO_CHROME\chrome.exe" "http://〇〇/〇〇"
start "PATH_TO_CHROME\chrome.exe" "http://△△/△△"
↑
このようにすると、ChromeではなくIE(既定のブラウザ)で起動してしまいます
対処法をお教えいただけますでしょうか
cd /d "PATH_TO_CHROME"
"PATH_TO_CHROME\chrome.exe" "http://〇〇/〇〇"
"PATH_TO_CHROME\chrome.exe" "http://△△/△△"
↑
このようにすると指定したChromeが起動し、指定したURLを開けるところまでは
できたのですが、これだと起動したChromeのタブを閉じないとバッチファイルが
先まないので、1サイトずつ開くことしかできません
しかし
cd /d "PATH_TO_CHROME"
start "PATH_TO_CHROME\chrome.exe" "http://〇〇/〇〇"
start "PATH_TO_CHROME\chrome.exe" "http://△△/△△"
↑
このようにすると、ChromeではなくIE(既定のブラウザ)で起動してしまいます
対処法をお教えいただけますでしょうか
577デフォルトの名無しさん
2021/12/10(金) 09:32:06.00ID:UVPMSOn+ srart /? 読めよ
定番の罠だぞ
start "タイトル" "コマンド"
定番の罠だぞ
start "タイトル" "コマンド"
578デフォルトの名無しさん
2021/12/10(金) 09:43:17.11ID:B96qroJw 実行前にcdしてるんだから、startでPATH_TO_CHROME必要なくない?
579デフォルトの名無しさん
2021/12/10(金) 09:55:28.09ID:E/xxr9cU580デフォルトの名無しさん
2021/12/10(金) 11:16:20.09ID:E/xxr9cU581デフォルトの名無しさん
2021/12/10(金) 12:54:10.13ID:4x3UzFuB chromeをdefault browserにする気は無かったのか?
582デフォルトの名無しさん
2021/12/10(金) 13:46:43.89ID:xm+AV3Ci これかー
https://github.com/MicrosoftDocs/windowsserverdocs/issues/4784
However the fact you need a Window Name is very annoying.
Typically we have used:
start /w "c:\path_name_here\filename.ext"
But all this does now is open another cmd prompt window with "c:\path_name_here\filename.ext" as it's title.
As a minimum, what is now required is this:
start "" /w "c:\path_name_here\filename.ext"
Why did this change??
まだopen question?闇深
https://github.com/MicrosoftDocs/windowsserverdocs/issues/4784
However the fact you need a Window Name is very annoying.
Typically we have used:
start /w "c:\path_name_here\filename.ext"
But all this does now is open another cmd prompt window with "c:\path_name_here\filename.ext" as it's title.
As a minimum, what is now required is this:
start "" /w "c:\path_name_here\filename.ext"
Why did this change??
まだopen question?闇深
583デフォルトの名無しさん
2021/12/10(金) 13:58:58.96ID:bi0x6bK+584デフォルトの名無しさん
2021/12/10(金) 14:41:04.55ID:xm+AV3Ci /オプション無しのオプショナル引数を先頭に持ってくるという設計は完全に腐ってるから、[<title>]から<title>への変更はグッジョブ
しかしアンドキュメンテッドはやめーや
しかしアンドキュメンテッドはやめーや
585デフォルトの名無しさん
2021/12/13(月) 10:32:27.87ID:iAh3rPLr cmdの作業効率が8%向上する裏技
prompt $E[92;40m$P$_$G$S$E[0m
prompt $E[92;40m$P$_$G$S$E[0m
586デフォルトの名無しさん
2021/12/13(月) 14:12:22.20ID:MDj1w4qb ドキュメントしてしまうと公認してしまうから
587デフォルトの名無しさん
2021/12/14(火) 01:14:44.64ID:74yCYCRP >>567
行毎に一括でパラメタ展開はモジュール化に役立つよ
:: main
call :subtract %1 %2
call :add %1 %2
goto:eof
:subtract
setlocal
set a=%1
set b=%1
endlocal & set /a ret=%a%+%b%
exit /b
:: note that
:: "endlocal & set /a ret=a-b" wont work: no expansion at line-parsing
:: also
:: "endlocal"
:: "set /a a=%a%+%b%"
:: because local vars already popped.
:add
setlocal
set a=%1
set b=%2
endlocal & set /a ret=%a%-%b%
exit /b
ノーテストなんでなんか変だったらごめん
スマホアプリですぐ試せられればいいんだけど、プロプライエタリだからなあ…
行毎に一括でパラメタ展開はモジュール化に役立つよ
:: main
call :subtract %1 %2
call :add %1 %2
goto:eof
:subtract
setlocal
set a=%1
set b=%1
endlocal & set /a ret=%a%+%b%
exit /b
:: note that
:: "endlocal & set /a ret=a-b" wont work: no expansion at line-parsing
:: also
:: "endlocal"
:: "set /a a=%a%+%b%"
:: because local vars already popped.
:add
setlocal
set a=%1
set b=%2
endlocal & set /a ret=%a%-%b%
exit /b
ノーテストなんでなんか変だったらごめん
スマホアプリですぐ試せられればいいんだけど、プロプライエタリだからなあ…
588デフォルトの名無しさん
2021/12/14(火) 01:20:33.98ID:74yCYCRP 大事なとこぬけてた
call :subr arg1 arg2
@echo %ret%
みたいに返り値得てます
call :subr arg1 arg2
@echo %ret%
みたいに返り値得てます
589デフォルトの名無しさん
2021/12/14(火) 13:12:42.88ID:0TpC/TXA %time%で取得できる13:11:12.99を13111299に変換したい場合、変数を使って%time::=%、%_time:.=%として変換しています。
この文字列置換を複数条件設定するなど1行でスマートに置換させる方法はありませんか?
この文字列置換を複数条件設定するなど1行でスマートに置換させる方法はありませんか?
590デフォルトの名無しさん
2021/12/14(火) 14:26:07.33ID:g9YcY7nV591デフォルトの名無しさん
2021/12/14(火) 15:16:40.00ID:0TpC/TXA >>590
できました。ありがとうございます。
できました。ありがとうございます。
592デフォルトの名無しさん
2021/12/15(水) 10:47:19.32ID:EP1qj6y9593デフォルトの名無しさん
2021/12/15(水) 21:34:23.51ID:Ttj+NiJr >>540の問題で痛い目を見るから俺は%date%%time%は使わない
594デフォルトの名無しさん
2021/12/15(水) 22:26:24.88ID:EYSEHsUE >>593
そこまで気にするなら、時刻が 0:00:00.xxの時は日付を取得し直すとかすればいいかな
又は一旦ダミーファイルを作成してそのタイムスタンプを見るとか
ちょっと具体的には思いつかないが日付時刻の付いた結果が出るシステム情報や結果ログ出力系のコマンドから貰うとか
bat中で別言語(WSH,PowerShell)で取得するとか(new Date();やget-date)
どういうのを使うと良いと言ってくれれば最高なレスになったのに
そこまで気にするなら、時刻が 0:00:00.xxの時は日付を取得し直すとかすればいいかな
又は一旦ダミーファイルを作成してそのタイムスタンプを見るとか
ちょっと具体的には思いつかないが日付時刻の付いた結果が出るシステム情報や結果ログ出力系のコマンドから貰うとか
bat中で別言語(WSH,PowerShell)で取得するとか(new Date();やget-date)
どういうのを使うと良いと言ってくれれば最高なレスになったのに
595デフォルトの名無しさん
2021/12/16(木) 00:00:44.73ID:7XMchLit 通ぶりたいだけでしょw
596デフォルトの名無しさん
2021/12/16(木) 21:17:59.55ID:/gSQ5d+p これで満足かな
for /f "usebackq" %%a in (`powershell -nop "get-date -format 'yyyyMMddHHmmss'"`) do set now=%%a
for /f "usebackq" %%a in (`powershell -nop "get-date -format 'yyyyMMddHHmmss'"`) do set now=%%a
597デフォルトの名無しさん
2021/12/17(金) 14:42:24.69ID:BDVQn7Pa :: タイムスタンプ取得。秒未満無し
copy nul $.txt
:: tokens はシステム設定の日付形式に依存。環境毎に要調整
for /f "tokens=2-4,6-8 delims=/: " %%a in ('where /t $.txt') do set "dt=%%a%%b%%c%%d%%e%%f"
del $.txt
set "dt=%dt: =0%"
echo %dt%
pause &exit /b
:: 怪しい時間帯(23:59:59-00:00:01)なら再取得。センチ秒(1/100)有り
:GET_DT
for /f "tokens=1-7 delims=/:." %%a in ("%date:~0,10%/%time: =0%") do set /a "d=%%a%%b%%c, t=1%%d%%e%%f%%g"
if %t% GTR 123595900 timeout /t 2 /nobreak >nul &goto :GET_DT
if %t% LSS 100000100 goto :GET_DT
echo %d%_%t:~1,-2%_%t:~-2%
pause &exit /b
別々に取得してるならまだしも同時に取得してそんな事故起こり得るの?都市伝説じゃね?
ところで"20211217143411"みたいな年月日時分秒を区切り文字無しの数字のみで表した形式って名前あるなら教えて欲しい
copy nul $.txt
:: tokens はシステム設定の日付形式に依存。環境毎に要調整
for /f "tokens=2-4,6-8 delims=/: " %%a in ('where /t $.txt') do set "dt=%%a%%b%%c%%d%%e%%f"
del $.txt
set "dt=%dt: =0%"
echo %dt%
pause &exit /b
:: 怪しい時間帯(23:59:59-00:00:01)なら再取得。センチ秒(1/100)有り
:GET_DT
for /f "tokens=1-7 delims=/:." %%a in ("%date:~0,10%/%time: =0%") do set /a "d=%%a%%b%%c, t=1%%d%%e%%f%%g"
if %t% GTR 123595900 timeout /t 2 /nobreak >nul &goto :GET_DT
if %t% LSS 100000100 goto :GET_DT
echo %d%_%t:~1,-2%_%t:~-2%
pause &exit /b
別々に取得してるならまだしも同時に取得してそんな事故起こり得るの?都市伝説じゃね?
ところで"20211217143411"みたいな年月日時分秒を区切り文字無しの数字のみで表した形式って名前あるなら教えて欲しい
598デフォルトの名無しさん
2021/12/17(金) 14:50:54.89ID:YK+z10uu dateもtimeも参照する度に計算して返してるからありえなくはないはず
んなこと気にしだしたらやってらんないからまあ気にすんな
んなこと気にしだしたらやってらんないからまあ気にすんな
599デフォルトの名無しさん
2021/12/17(金) 15:15:49.48ID:hTLZR6Rv 怪しい時間はスリープしてしまうのも手
決済の日付なんか微妙なの下手に振り分けたら揉めるしな、23:59で〆切でヨシ
そんなのbatでやってる人居るかはしらんが
決済の日付なんか微妙なの下手に振り分けたら揉めるしな、23:59で〆切でヨシ
そんなのbatでやってる人居るかはしらんが
600デフォルトの名無しさん
2021/12/17(金) 17:15:52.28ID:U9ZWMMsm601デフォルトの名無しさん
2021/12/17(金) 19:18:20.51ID:b/qKwgTk :loop
set d=%date%
set t=%time%
if not %d%==%date% goto loop
set d=%date%
set t=%time%
if not %d%==%date% goto loop
602デフォルトの名無しさん
2021/12/17(金) 20:24:45.70ID:HfuHDFo+603デフォルトの名無しさん
2021/12/17(金) 20:26:39.18ID:HfuHDFo+ いや別に変わっても大丈夫だな
604デフォルトの名無しさん
2021/12/17(金) 21:03:18.69ID:BDVQn7Pa605デフォルトの名無しさん
2021/12/18(土) 01:12:16.03ID:CB++7SQf 8ビットマイコンで16ビットタイマーの値を読むときなんかに使ったっけ
もちろんタイマー側にラッチ機能があって、そういう気遣いのいらないものもあったが
もちろんタイマー側にラッチ機能があって、そういう気遣いのいらないものもあったが
606デフォルトの名無しさん
2021/12/21(火) 06:09:00.92ID:LxI3AD9t ラッチがいるならつければええやん
607デフォルトの名無しさん
2021/12/24(金) 11:39:23.31ID:etjYYPj+ イベントログ保存したくて
wevtutil epl system xxx.evtx /q:"条件"
↓
wevtutil al xxx.evtx /l:ja
でディレクトリ名が無効ですって出るんだが理由わかる?
wevtutil epl system xxx.evtx /q:"条件"
↓
wevtutil al xxx.evtx /l:ja
でディレクトリ名が無効ですって出るんだが理由わかる?
608デフォルトの名無しさん
2021/12/24(金) 11:43:38.16ID:etjYYPj+ 自己解決しました
管理者で実行したら行けた
管理者で実行したら行けた
609デフォルトの名無しさん
2021/12/24(金) 20:51:05.94ID:wuqNqn+2610デフォルトの名無しさん
2022/01/02(日) 19:41:59.70ID:llzVm8Ys Windowsでバッチファイルの%1とかに
今クリップボードに入ってるテキストを渡して起動したいけど
なんか方法ある?
今クリップボードに入ってるテキストを渡して起動したいけど
なんか方法ある?
611デフォルトの名無しさん
2022/01/02(日) 20:13:43.31ID:Wx5RR6tp とりあえず何も追加する必要ないので PowerShell がお手軽
例えばクリップボードの内容を tmp.txt に出すならバッチファイルやコマンドプロンプトで
>powershell -NoProfile -ExecutionPolicy Unrestricted -Command Get-Clipboard > tmp.txt
先に
>chcp 65001
しておくと UTF8 での出力もいけるっぽい
例えばクリップボードの内容を tmp.txt に出すならバッチファイルやコマンドプロンプトで
>powershell -NoProfile -ExecutionPolicy Unrestricted -Command Get-Clipboard > tmp.txt
先に
>chcp 65001
しておくと UTF8 での出力もいけるっぽい
612デフォルトの名無しさん
2022/01/03(月) 02:27:56.29ID:/1+Dp4vp for /f "delims=" %%a in ('powershell -c "get-clipboard"') do hoge.bat "%%~a"
613デフォルトの名無しさん
2022/01/03(月) 07:54:20.63ID:yGzP40SI614デフォルトの名無しさん
2022/01/03(月) 09:26:29.55ID:BdaWP45p 漏れは下のような、Ruby スクリプト内で、powershell コマンドを呼んで、
クリップボード内の文字列を処理している
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
クリップボード内の文字列を処理している
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
615デフォルトの名無しさん
2022/01/03(月) 10:45:31.38ID:CWfpiD5B616デフォルトの名無しさん
2022/01/03(月) 13:18:16.70ID:0LszXjQc 環境変数名に一部記号も使えることを発見
#で始まれば一時変数、$で始まればバッチ間共通など、少しわかりやすくできる
#で始まれば一時変数、$で始まればバッチ間共通など、少しわかりやすくできる
617デフォルトの名無しさん
2022/01/04(火) 00:14:37.12ID:a2P6Hn/H 塩野義製薬が週休3日制導入へ 来年4月、副業も解禁
塩野義製薬が「週休3日」選択可能に 給与は『週休2日の8割』副業や学び直しを支援
【フォーカス】サタケ/週休3日制 通年導入めざし夏季のみ試行中 交代制で水曜を休日に
旅館なのに週休3日!?陣屋・若女将の常識を覆した組織改革
“時代錯誤”から残業ゼロ、週休3日に! 鳥取の不動産会社が
レガシー企業からDX先進企業になれたワケ
ネクスウェイ、週休4日制・1日3時間勤務選択できる勤務体系を導入
日本初「週休4日制度」で、優秀な人材を採用するしくみとは? ?
ナレッジソサエティ久田社長に聞いてみた
塩野義製薬が「週休3日」選択可能に 給与は『週休2日の8割』副業や学び直しを支援
【フォーカス】サタケ/週休3日制 通年導入めざし夏季のみ試行中 交代制で水曜を休日に
旅館なのに週休3日!?陣屋・若女将の常識を覆した組織改革
“時代錯誤”から残業ゼロ、週休3日に! 鳥取の不動産会社が
レガシー企業からDX先進企業になれたワケ
ネクスウェイ、週休4日制・1日3時間勤務選択できる勤務体系を導入
日本初「週休4日制度」で、優秀な人材を採用するしくみとは? ?
ナレッジソサエティ久田社長に聞いてみた
618デフォルトの名無しさん
2022/01/06(木) 07:53:54.89ID:JIskJ1L9 ファイルのリネームと
ファイルの移動
フォルダ自動作成
これだけで普段の作業の手間がほんとうに省ける
逆に何ができると便利だろう
ファイルの移動
フォルダ自動作成
これだけで普段の作業の手間がほんとうに省ける
逆に何ができると便利だろう
619デフォルトの名無しさん
2022/01/06(木) 08:04:00.41ID:JIskJ1L9 環境変数って
普通の変数とは違うの?
バッチファイル特有の言い回し?
%1
%i
%hoge
だっけ?
普通の変数とは違うの?
バッチファイル特有の言い回し?
%1
%i
%hoge
だっけ?
620デフォルトの名無しさん
2022/01/06(木) 13:18:17.45ID:nDo7QbOD アプリケーションプログラムの環境という意味
例えば一時作業フォルダを TEMP に指定するとアプリが参照して使ってくれる(事がある)
dirコマンドのデフォルトオプションはdircmd変数に設定出来る
いわゆる環境設定と呼ばれるね
そしてバッチファイル内でプログラミング言語の変数としても使える
例えば一時作業フォルダを TEMP に指定するとアプリが参照して使ってくれる(事がある)
dirコマンドのデフォルトオプションはdircmd変数に設定出来る
いわゆる環境設定と呼ばれるね
そしてバッチファイル内でプログラミング言語の変数としても使える
621デフォルトの名無しさん
2022/01/06(木) 13:23:22.58ID:nDo7QbOD ちなみに %1 %%i は環境変数じゃないね
shift /? や for /? を読もう
環境変数はsetコマンドでセットして参照は%変数名%
set /? を読もう
shift /? や for /? を読もう
環境変数はsetコマンドでセットして参照は%変数名%
set /? を読もう
622デフォルトの名無しさん
2022/01/20(木) 04:31:27.84ID:a6a8bxfJ 最低限
for /f "delims=" %a in ('powershell clipboard') do echo %a
for /f "delims=" %a in ('powershell clipboard') do echo %a
623デフォルトの名無しさん
2022/01/25(火) 21:13:49.45ID:aASmTB60 dir /b の結果を explorerの名前順(昇順|降順)にソートする簡単な方法無い?
数字を数値と見做してソート
バッチから利用出来るならOK。ps全く分からんけど powershellとかで出来ないかな?
カレントディレクトリの dir /b 相当なら dirで無くてもいい
for /f "delims=" %%a in ('dir /b ^| numsort.exe') do
みたいな感じで外部ソートツール導入でもOK。むしろ理想形
ファイル数は2000未満くらい。万単位とか考慮しなくていい
なるべくなら余計なインストールは避けたいけど自前でパースとソート作るのはハードル高過ぎなので何か方法があれば教えて欲しい
最悪逆順にするだけなら自前でも出来そうなのでせめて(昇順|降順)どちらかだけでも出来れば
数字を数値と見做してソート
バッチから利用出来るならOK。ps全く分からんけど powershellとかで出来ないかな?
カレントディレクトリの dir /b 相当なら dirで無くてもいい
for /f "delims=" %%a in ('dir /b ^| numsort.exe') do
みたいな感じで外部ソートツール導入でもOK。むしろ理想形
ファイル数は2000未満くらい。万単位とか考慮しなくていい
なるべくなら余計なインストールは避けたいけど自前でパースとソート作るのはハードル高過ぎなので何か方法があれば教えて欲しい
最悪逆順にするだけなら自前でも出来そうなのでせめて(昇順|降順)どちらかだけでも出来れば
624デフォルトの名無しさん
2022/01/25(火) 21:22:10.78ID:s4YEdFZn625デフォルトの名無しさん
2022/01/25(火) 21:28:36.67ID:OaU1XWUD 半角数字だけでいいなら GnuWin の sort.exe を gsort.exe にリネームして使ってる
http://gnuwin32.sourceforge.net/packages/coreutils.htm
の Binaries の zip に入ってるやつ
>dir /b *.txt | gsort -n
11.txt
0123.txt
2222.txt
3333.txt
11111.txt
>dir /b *.txt
0123.txt
11.txt
11111.txt
2222.txt
3333.txt
こんな具合
漢数字とかは知らないので日本語(漢数字・全角)に対応したの
あれば知りたい……
http://gnuwin32.sourceforge.net/packages/coreutils.htm
の Binaries の zip に入ってるやつ
>dir /b *.txt | gsort -n
11.txt
0123.txt
2222.txt
3333.txt
11111.txt
>dir /b *.txt
0123.txt
11.txt
11111.txt
2222.txt
3333.txt
こんな具合
漢数字とかは知らないので日本語(漢数字・全角)に対応したの
あれば知りたい……
626デフォルトの名無しさん
2022/01/25(火) 21:53:08.80ID:aASmTB60 >>625
ありがとう試してみます
ありがとう試してみます
627デフォルトの名無しさん
2022/01/25(火) 21:59:16.95ID:s4YEdFZn628デフォルトの名無しさん
2022/01/25(火) 22:26:05.82ID:aASmTB60 >>625
教えてもらったようにgsort.exeにリネームして使ってみたら
libintl3.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
とアラート出て使えなかった。win10
libintl3.dllをググったらjp.dll-files.comてとこ検索出て落とせるようなんだけどこれ入れて大丈夫?
教えてもらったようにgsort.exeにリネームして使ってみたら
libintl3.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
とアラート出て使えなかった。win10
libintl3.dllをググったらjp.dll-files.comてとこ検索出て落とせるようなんだけどこれ入れて大丈夫?
629デフォルトの名無しさん
2022/01/25(火) 22:30:15.41ID:OaU1XWUD630デフォルトの名無しさん
2022/01/25(火) 23:14:16.23ID:aASmTB60 >>629
ありがとう
libをシステムにコピーして使えました
でもコレ
dir /b *.ext | gsort -n
1.txt
2.txt
…
9.txt
10.txt
と、数字.ext なら数値順にソート出来ましたけど
文字列+数字.ext だと無理なようです
xxx1.txt
xxx10.txt
xxx2.txt
xxx20.txt
みたいになります
xxx_1.txt と文字列と数字の間に区切り記号入れても駄目
エクスプローラーのようには並ばないみたいですね
win32api使うかvbかpowershellかで出来るような事を以前どこかで読んだ気がするのですがそのソースが見付けられない。。
ありがとう
libをシステムにコピーして使えました
でもコレ
dir /b *.ext | gsort -n
1.txt
2.txt
…
9.txt
10.txt
と、数字.ext なら数値順にソート出来ましたけど
文字列+数字.ext だと無理なようです
xxx1.txt
xxx10.txt
xxx2.txt
xxx20.txt
みたいになります
xxx_1.txt と文字列と数字の間に区切り記号入れても駄目
エクスプローラーのようには並ばないみたいですね
win32api使うかvbかpowershellかで出来るような事を以前どこかで読んだ気がするのですがそのソースが見付けられない。。
631デフォルトの名無しさん
2022/01/26(水) 01:07:47.03ID:td9ayUMw 普通に見つかったけど、本当に探した?
@echo off
echo class P{[System.Runtime.InteropServices.DllImport("shlwapi.dll", >SortLogical.cs
echo CharSet = System.Runtime.InteropServices.CharSet.Unicode, ExactSpelling = true)] >>SortLogical.cs
echo public static extern int StrCmpLogicalW(string str1, string str2); >>SortLogical.cs
echo static void Main(){ string[] lines = System.Console.In.ReadToEnd().Split >>SortLogical.cs
echo (new string[] { "\r\n" }, System.StringSplitOptions.RemoveEmptyEntries); >>SortLogical.cs
echo System.Array.Sort(lines, StrCmpLogicalW); >>SortLogical.cs
echo System.Console.Out.WriteLine(string.Join("\r\n",lines));}} >>SortLogical.cs
for /f %%i in ('dir /s /b "%windir%\Microsoft.NET\csc.exe"') do set csc="%%i"
%csc% /nologo SortLogical.cs
dir /b | SortLogical
@echo off
echo class P{[System.Runtime.InteropServices.DllImport("shlwapi.dll", >SortLogical.cs
echo CharSet = System.Runtime.InteropServices.CharSet.Unicode, ExactSpelling = true)] >>SortLogical.cs
echo public static extern int StrCmpLogicalW(string str1, string str2); >>SortLogical.cs
echo static void Main(){ string[] lines = System.Console.In.ReadToEnd().Split >>SortLogical.cs
echo (new string[] { "\r\n" }, System.StringSplitOptions.RemoveEmptyEntries); >>SortLogical.cs
echo System.Array.Sort(lines, StrCmpLogicalW); >>SortLogical.cs
echo System.Console.Out.WriteLine(string.Join("\r\n",lines));}} >>SortLogical.cs
for /f %%i in ('dir /s /b "%windir%\Microsoft.NET\csc.exe"') do set csc="%%i"
%csc% /nologo SortLogical.cs
dir /b | SortLogical
632デフォルトの名無しさん
2022/01/26(水) 04:18:02.04ID:aOgfZBdB >>631
すげぇ。生成されたexeで希望するソートが出来るようになりました
マジ感謝です
ありがとう
> 本当に探した?
検索語すら分からず「バッチ dir エクスプローラー並び順」とか他にも結構色々試して探しては見たのですが。。
StrCmpLogicalW が分かった今でもその方法を見付けられていません
すげぇ。生成されたexeで希望するソートが出来るようになりました
マジ感謝です
ありがとう
> 本当に探した?
検索語すら分からず「バッチ dir エクスプローラー並び順」とか他にも結構色々試して探しては見たのですが。。
StrCmpLogicalW が分かった今でもその方法を見付けられていません
633デフォルトの名無しさん
2022/01/26(水) 06:51:01.88ID:fC9okRVc エクスプローラーの並び順って
辞書順か数字順か
レジストリで変更可能だよね
辞書順か数字順か
レジストリで変更可能だよね
634デフォルトの名無しさん
2022/01/26(水) 08:10:19.47ID:JawhZMcA 何のために並び順を揃えるの?
635デフォルトの名無しさん
2022/01/26(水) 08:34:25.15ID:e2k0MxNT なるほど、数字の部分だけは数値に変換してから、小さい順に並べるのか
このアルゴリズムを考えるのは、難しい
このアルゴリズムを考えるのは、難しい
636デフォルトの名無しさん
2022/01/26(水) 09:10:13.24ID:TX0OTodc 俺なら必要な桁分0パディングするなあ
連番ファイルをエクスプローラーで直接使うなんてことはないし
連番ファイルをエクスプローラーで直接使うなんてことはないし
637デフォルトの名無しさん
2022/01/26(水) 09:20:50.79ID:JawhZMcA エクスプローラーで選択してパスのコピーでいいやん
638デフォルトの名無しさん
2022/01/26(水) 11:52:52.47ID:+BcwC06P >>635
スクリプトでやるなら正規表現などで数字部分を置換11→0000000011してからソートかな?
小数点以下ってどうなってたっけ?
でも記号 _ の並びまで違うから鬱陶しい
631のAPIはWin7には無いっぽいから需要はあるかもよ
スクリプトでやるなら正規表現などで数字部分を置換11→0000000011してからソートかな?
小数点以下ってどうなってたっけ?
でも記号 _ の並びまで違うから鬱陶しい
631のAPIはWin7には無いっぽいから需要はあるかもよ
639デフォルトの名無しさん
2022/01/26(水) 12:06:15.68ID:+BcwC06P あれ?XPから使えるのか…
あの外人許さん
あの外人許さん
640デフォルトの名無しさん
2022/01/26(水) 12:08:29.20ID:JawhZMcA A01BとA001Bが同じ評価になって順番どうするのとか思う
641デフォルトの名無しさん
2022/01/26(水) 20:44:37.41ID:rJwWcbPl >>631をスイッチで逆順に出来ない?
642デフォルトの名無しさん
2022/01/26(水) 22:43:54.21ID:2NoDFTFY >>631
おおーっ、いいなコレ
>>630
今更感が強いけど、文字列やセパレータがはっきりしてるならこんな事も
>dir /b *.txt | gsort -g --key=4 --field-separator=x
xxx11.txt
xxx0123.txt
xxx2222.txt
xxx3333.txt
xxx11111.txt
>dir /b *.txt | gsort -n --key=2 --field-separator=-
xxx-01-23.txt
xxx-1-1.txt
xxx-2-222.txt
xxx-33-33.txt
xxx-111-11.txt
>dir /b *.txt | gsort -n --key=3 --field-separator=-
xxx-1-1.txt
xxx-111-11.txt
xxx-01-23.txt
xxx-33-33.txt
xxx-2-222.txt
ひとつ目はちょっと無理やりw
おおーっ、いいなコレ
>>630
今更感が強いけど、文字列やセパレータがはっきりしてるならこんな事も
>dir /b *.txt | gsort -g --key=4 --field-separator=x
xxx11.txt
xxx0123.txt
xxx2222.txt
xxx3333.txt
xxx11111.txt
>dir /b *.txt | gsort -n --key=2 --field-separator=-
xxx-01-23.txt
xxx-1-1.txt
xxx-2-222.txt
xxx-33-33.txt
xxx-111-11.txt
>dir /b *.txt | gsort -n --key=3 --field-separator=-
xxx-1-1.txt
xxx-111-11.txt
xxx-01-23.txt
xxx-33-33.txt
xxx-2-222.txt
ひとつ目はちょっと無理やりw
643デフォルトの名無しさん
2022/01/26(水) 22:54:09.19ID:e2k0MxNT 11
011
0011
のソート順が分からない
011
0011
のソート順が分からない
644デフォルトの名無しさん
2022/01/27(木) 00:04:18.32ID:L9fnubfL645デフォルトの名無しさん
2022/02/05(土) 23:16:58.61ID:ICS6MdcL ・画像ファイルが縦長か横長か?
・画像ファイルの拡張子判別
上記2点をバッチから行いたい
縦横に関してはimageMagickで出来そう
identify -format "%[fx:h>w?1:2]" "ファイルパス"
拡張子判別も同様に %m でファイルタイプからやれそうではあるのですが
何か更に良い方法やコマンドラインアプリなどがあったらアドバイス欲しいです
・画像ファイルの拡張子判別
上記2点をバッチから行いたい
縦横に関してはimageMagickで出来そう
identify -format "%[fx:h>w?1:2]" "ファイルパス"
拡張子判別も同様に %m でファイルタイプからやれそうではあるのですが
何か更に良い方法やコマンドラインアプリなどがあったらアドバイス欲しいです
646デフォルトの名無しさん
2022/02/06(日) 04:23:41.63ID:D8jWL7f3 画像のサイズはOS標準の方法としてシェルネームスペースからファイルのプロパティの詳細タブの値を拾ってくるやつがあったと思う
COMが使えるスクリプトで取ってくる必要がある
拡張子はバッチファイル 拡張子 取得でぐぐったら出てくるんじゃないの
COMが使えるスクリプトで取ってくる必要がある
拡張子はバッチファイル 拡張子 取得でぐぐったら出てくるんじゃないの
647デフォルトの名無しさん
2022/02/06(日) 05:53:39.32ID:ZVoj0wBD Param([Parameter(mandatory=$true)][String]$inputFile)
Add-Type -AssemblyName "System.Drawing"
try{
$img = [System.Drawing.Image]::FromFile($inputFile)
if ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Jpeg)) {
$mimetype = 'image/jpeg'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Png)) {
$mimetype = 'image/png'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Bmp)) {
$mimetype = 'image/bmp'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Gif)) {
$mimetype = 'image/gif'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Icon)) {
$mimetype = 'image/icon'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Tiff)) {
$mimetype = 'image/tiff'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Wmf)) {
$mimetype = 'image/wmf'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Exif)) {
$mimetype = 'image/exif'
} else {
$mimetype = 'image/unknown'
}
$w = $img.Width
$h = $img.Height
$img.Dispose()
}
catch{ $mimetype='unknown' }
echo "$mimetype`t$w`t$h"
Add-Type -AssemblyName "System.Drawing"
try{
$img = [System.Drawing.Image]::FromFile($inputFile)
if ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Jpeg)) {
$mimetype = 'image/jpeg'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Png)) {
$mimetype = 'image/png'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Bmp)) {
$mimetype = 'image/bmp'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Gif)) {
$mimetype = 'image/gif'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Icon)) {
$mimetype = 'image/icon'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Tiff)) {
$mimetype = 'image/tiff'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Wmf)) {
$mimetype = 'image/wmf'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Exif)) {
$mimetype = 'image/exif'
} else {
$mimetype = 'image/unknown'
}
$w = $img.Width
$h = $img.Height
$img.Dispose()
}
catch{ $mimetype='unknown' }
echo "$mimetype`t$w`t$h"
648デフォルトの名無しさん
2022/02/06(日) 05:54:07.77ID:ZVoj0wBD ↑
getDetailsOfでプロパティを取ってくる以外の方法
jpg/png/gifぐらいだけど
powershell ./test.ps1 "画像ファイルのパス"
プロパティだと拡張子に関連付けられたものになる
中身がjpgなのにファイル拡張子が.pngの場合とかある?
なお、batに埋め込みたいならググれば方法は出てくる
getDetailsOfでプロパティを取ってくる以外の方法
jpg/png/gifぐらいだけど
powershell ./test.ps1 "画像ファイルのパス"
プロパティだと拡張子に関連付けられたものになる
中身がjpgなのにファイル拡張子が.pngの場合とかある?
なお、batに埋め込みたいならググれば方法は出てくる
649デフォルトの名無しさん
2022/02/06(日) 09:33:19.21ID:T20/oaZi >>647-648
ありがとうございます
最初、実行ポリシーが云々でエラーになったものの、ググって
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 '%~1'
としたら動きました
シングルクォートにしないとスペースを含むパスでエラーになりました
> 中身がjpgなのにファイル拡張子が.pngの場合とかある?
バッチでリネームついでにそういった間違っている拡張子を正しいものに直したいと思いまして
image/jpeg とかを .jpg に変えたら面倒も無くそのまま使えそうです
powershell凄いですね。外部アプリ使わずに判別出来ちゃうんですね
WINEX32.DLL
https://www.vector.co.jp/soft/win95/prog/se478825.html
こういうのが必要なのかと思ってました
ただファイル一つ一つをバッチからpsを起動してたら遅いのだけが難点ですね
速さは重要ではないので構わないのですが
いっそ全部psで書けるスキルがあれば良いんですけどねー
バッチですら四苦八苦してる身としてはさくっと書ける人が羨ましいです
ありがとうございます
最初、実行ポリシーが云々でエラーになったものの、ググって
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 '%~1'
としたら動きました
シングルクォートにしないとスペースを含むパスでエラーになりました
> 中身がjpgなのにファイル拡張子が.pngの場合とかある?
バッチでリネームついでにそういった間違っている拡張子を正しいものに直したいと思いまして
image/jpeg とかを .jpg に変えたら面倒も無くそのまま使えそうです
powershell凄いですね。外部アプリ使わずに判別出来ちゃうんですね
WINEX32.DLL
https://www.vector.co.jp/soft/win95/prog/se478825.html
こういうのが必要なのかと思ってました
ただファイル一つ一つをバッチからpsを起動してたら遅いのだけが難点ですね
速さは重要ではないので構わないのですが
いっそ全部psで書けるスキルがあれば良いんですけどねー
バッチですら四苦八苦してる身としてはさくっと書ける人が羨ましいです
650デフォルトの名無しさん
2022/02/16(水) 16:36:49.58ID:w27+Spzi 初心者過ぎて分からないんだが
コマンド >nul 2>&1
if "!ERRORLEVEL!" == "0" 〜
ってちゃんと意味ある?
出力捨てるのは成功するから毎回リターンコード0になったりする?
コマンド >nul 2>&1
if "!ERRORLEVEL!" == "0" 〜
ってちゃんと意味ある?
出力捨てるのは成功するから毎回リターンコード0になったりする?
651デフォルトの名無しさん
2022/02/16(水) 17:40:22.47ID:SGx0nl/1 正常時に出力の無いコマンドはリダイレクトできないからエラーになるんじゃね。
異常時にコマンドがエラー出してもエラーになるから
結局、区別がつかない。
異常時にコマンドがエラー出してもエラーになるから
結局、区別がつかない。
652デフォルトの名無しさん
2022/02/16(水) 18:08:47.78ID:5G/Gik2e653デフォルトの名無しさん
2022/02/16(水) 18:18:47.77ID:t0Nu4cH6 コマンドの復帰コードと標準(エラー)出力のリダイレクトとは無関係なので
ちゃんとコマンドが復帰コードを返していたら問題ないはず
errorlevel環境変数を見るのはちょっとリスクがあるけどわかっているなら問題はない
if errorlevel 1 〜
なら確実
ちゃんとコマンドが復帰コードを返していたら問題ないはず
errorlevel環境変数を見るのはちょっとリスクがあるけどわかっているなら問題はない
if errorlevel 1 〜
なら確実
654デフォルトの名無しさん
2022/02/16(水) 18:26:54.82ID:lGeZIdOq コマンド
if not errorlevel 1 echo ok
コマンド >nul 2>&1 && echo ok || echo fail
if not errorlevel 1 echo ok
コマンド >nul 2>&1 && echo ok || echo fail
655デフォルトの名無しさん
2022/02/16(水) 18:31:31.49ID:5G/Gik2e ifのパラメーターにerrorlevelがあったのね
確かに環境変数使うより良さそう
PC起動時に毎回開きたいアプリを順番(前後関係あり)に開いてくだけだから基本startコマンドなのよね
確かに環境変数使うより良さそう
PC起動時に毎回開きたいアプリを順番(前後関係あり)に開いてくだけだから基本startコマンドなのよね
656デフォルトの名無しさん
2022/02/16(水) 18:32:09.18ID:5G/Gik2e おーありがてえ
657デフォルトの名無しさん
2022/02/16(水) 18:39:35.08ID:IpLn/l6Q658デフォルトの名無しさん
2022/02/16(水) 18:44:42.98ID:91qDUo1j659デフォルトの名無しさん
2022/02/16(水) 18:50:49.88ID:t0Nu4cH6 >>658
DOSだと、gotoしか書けなかったね
DOSだと、gotoしか書けなかったね
660デフォルトの名無しさん
2022/02/16(水) 22:29:00.93ID:5G/Gik2e661デフォルトの名無しさん
2022/02/20(日) 02:07:07.44ID:UpXKcN5y これなんでこうなるの?
echo abc 行末|findstr "^abc"
一致
(echo abc 行末)|findstr "^abc"
一致
echo abc 行末|findstr "行末$"
一致
(echo abc 行末)|findstr "行末$"
不一致
echo abc 行末| findstr /r /c:"^abc 行末$"
一致
(echo abc 行末)| findstr /r /c:"^abc 行末$"
不一致
元はこういう感じでハマっててやっと原因突き止めたんだけど理由が分からん
(for /L %%j in (1,1,%i%) do for /f "delims=/" %%a in ('echo "%%B_%%j%%"') do echo %%~a
)|findstr "^001a\.txt$" || echo ok
因みに /x オプションも駄目だった
('echo "%%B_%%j%%"') の部分も元は ("!B_%%j!") で単独では展開されてたのにパイプ繋ぐと展開されずハマってた
パイプ繋いだら遅延展開無効化されるん?
echo abc 行末|findstr "^abc"
一致
(echo abc 行末)|findstr "^abc"
一致
echo abc 行末|findstr "行末$"
一致
(echo abc 行末)|findstr "行末$"
不一致
echo abc 行末| findstr /r /c:"^abc 行末$"
一致
(echo abc 行末)| findstr /r /c:"^abc 行末$"
不一致
元はこういう感じでハマっててやっと原因突き止めたんだけど理由が分からん
(for /L %%j in (1,1,%i%) do for /f "delims=/" %%a in ('echo "%%B_%%j%%"') do echo %%~a
)|findstr "^001a\.txt$" || echo ok
因みに /x オプションも駄目だった
('echo "%%B_%%j%%"') の部分も元は ("!B_%%j!") で単独では展開されてたのにパイプ繋ぐと展開されずハマってた
パイプ繋いだら遅延展開無効化されるん?
662デフォルトの名無しさん
2022/02/20(日) 02:58:56.00ID:WlVIdNMt (echo abc 行末)|findstr "行末 $"
は一致する
スペースが入るみたいだね
は一致する
スペースが入るみたいだね
663デフォルトの名無しさん
2022/02/20(日) 03:21:58.43ID:j5UZdGyh664デフォルトの名無しさん
2022/02/20(日) 03:38:00.04ID:UpXKcN5y ありがとう
(echo abc 行末)|findstr /r /c:"^abc 行末 $"
これで一致したから半角スペース入ってしまってるで間違いないみたい
(echo abc 行末)|findstr /r /c:"^abc 行末 $"
これで一致したから半角スペース入ってしまってるで間違いないみたい
665デフォルトの名無しさん
2022/02/20(日) 03:42:58.59ID:j5UZdGyh echo onでどう展開されるかみればどうしてそうなったのかわかるよ
666デフォルトの名無しさん
2022/02/20(日) 05:28:05.67ID:UpXKcN5y >>665
当然echo onでも確認してる
例えばこんなの
for %a in (a b c) do (echo %a|findstr "b$")
echo onでの表示では %a | とパイプとの間にスペース入るけどechoの末尾にゴミなんて付かないのよ
元のバッチやコマンドプロンプトの入力で以下のようにスペース入ってれば末尾にスペース入るけど上記のように詰めて書けば入らない
for %a in (a b c) do (echo %a |findstr "b$")
当然echo onでも確認してる
例えばこんなの
for %a in (a b c) do (echo %a|findstr "b$")
echo onでの表示では %a | とパイプとの間にスペース入るけどechoの末尾にゴミなんて付かないのよ
元のバッチやコマンドプロンプトの入力で以下のようにスペース入ってれば末尾にスペース入るけど上記のように詰めて書けば入らない
for %a in (a b c) do (echo %a |findstr "b$")
667デフォルトの名無しさん
2022/02/20(日) 05:50:10.39ID:WlVIdNMt668デフォルトの名無しさん
2022/02/21(月) 23:05:19.75ID:J9914B5I669デフォルトの名無しさん
2022/02/25(金) 18:44:29.79ID:xURWaPVP 同じアプリのファイルを複数起動していて
コマンドラインが同じになっているとき
閉じたいものだけ閉じる方法ってありますか?
コマンドラインが同じになっているとき
閉じたいものだけ閉じる方法ってありますか?
670デフォルトの名無しさん
2022/02/25(金) 18:45:11.42ID:xURWaPVP すいません、コマンドラインでなくプロセス名でした
671デフォルトの名無しさん
2022/02/25(金) 20:06:56.37ID:zbdaU1gm >>670
全く同じexeを複数起動してるんなら、プロセスID指定しかないけど
プロセスID見たってどっちが消したいexeなのか判別できる?
・リスト表示
tasklist /fi "IMAGENAME eq xxx.exe"
・削除
taskkill /pid 9999
パスが違うとかならパス情報を見るとかでプロセスIDを特定できる
wmic process list full format:csv|findstr "C:\foo\bar\baz.exe"
全く同じexeを複数起動してるんなら、プロセスID指定しかないけど
プロセスID見たってどっちが消したいexeなのか判別できる?
・リスト表示
tasklist /fi "IMAGENAME eq xxx.exe"
・削除
taskkill /pid 9999
パスが違うとかならパス情報を見るとかでプロセスIDを特定できる
wmic process list full format:csv|findstr "C:\foo\bar\baz.exe"
672デフォルトの名無しさん
2022/02/25(金) 20:12:59.55ID:xURWaPVP673デフォルトの名無しさん
2022/02/25(金) 22:00:00.64ID:zbdaU1gm >>672
もう出来たとは思うけど、上のだとfindstrも一緒に検出されるので出した責任として訂正しとく
for /f "tokens=6 delims=," %%i in ('wmic process list full /format:csv^|findstr "C:\bin\INET\Jane"^|findstr /v findstr') do set pid=%%i
tasklist /fi "pid eq %pid%"
もう出来たとは思うけど、上のだとfindstrも一緒に検出されるので出した責任として訂正しとく
for /f "tokens=6 delims=," %%i in ('wmic process list full /format:csv^|findstr "C:\bin\INET\Jane"^|findstr /v findstr') do set pid=%%i
tasklist /fi "pid eq %pid%"
674デフォルトの名無しさん
2022/02/26(土) 12:26:06.99ID:2NOKllqN675デフォルトの名無しさん
2022/02/26(土) 16:12:21.37ID:XLKEJl76 アクティブウィンドウ名がわかればいいんだね
vbaでできるらしいが
vbaでできるらしいが
676デフォルトの名無しさん
2022/03/10(木) 14:32:21.94ID:53waehJr あるフォルダROOTの配下にフォルダ001〜フォルダ999があり、その中にはAAA,BBB,CCCという3ファイルがあるとします。
フォルダ001から999配下の全てのAAAをZZZにコピーするために
コマンドプロンプトでROOTフォルダで「for /r %i in (AAA) do copy %i %~pi\ZZZ」としたら求める結果になりましたが
これをバッチファイルに書くと構文エラーみたいなエラーがでます。
バッチファイルに書く場合どうしたらいいでしょうか。
フォルダ001から999配下の全てのAAAをZZZにコピーするために
コマンドプロンプトでROOTフォルダで「for /r %i in (AAA) do copy %i %~pi\ZZZ」としたら求める結果になりましたが
これをバッチファイルに書くと構文エラーみたいなエラーがでます。
バッチファイルに書く場合どうしたらいいでしょうか。
677デフォルトの名無しさん
2022/03/10(木) 15:13:37.97ID:jqA3dRQ6 魔空空間では
%i in (AAA) do copy % という名前の環境変数に展開されて消えてしまうのだ!
すべての%を%%に書き換えて対抗しよう!
なおコマンドラインでも環境変数が定義されていたら展開されてしまうぞ
こちらは対処不能だキヲツケロぉ
%i in (AAA) do copy % という名前の環境変数に展開されて消えてしまうのだ!
すべての%を%%に書き換えて対抗しよう!
なおコマンドラインでも環境変数が定義されていたら展開されてしまうぞ
こちらは対処不能だキヲツケロぉ
678デフォルトの名無しさん
2022/03/10(木) 15:28:31.03ID:23a2YeOc679デフォルトの名無しさん
2022/03/10(木) 15:52:45.58ID:53waehJr680デフォルトの名無しさん
2022/03/12(土) 02:42:22.51ID:1/likOkq 家の光回線をIPv4 over IPv6に変えたら、「VPN931でしょ?」ERRORが出て書き込めなくなった
試行錯誤の後、携帯回線を無線子機経由、テザリングで繋いでおき
「ネットワークアダプター」のページからイーサネット(有線)を無効にして書き込み、
書き込みが終わったら再び光回線を有効にするようにした
しかし、つい携帯回線に切り換えたのを忘れたまま動画を観てしまうようなことが何度もあり、
1回で月無料分のギガを使い切ってしまい、有料になったり速度制限がかかったりして不便&勿体ないので
なんとかバッチ処理出来ないかと思い、
「有線LAN 無効化 バッチ」で検索して見つけた下記のページを参考にしてバッチファイルを作ってみた
↓
https://mseeeen.msen.jp/switch-network-adapter-enabled-in-windows-with-batch-file/
----------
@ECHO OFF
netsh interface set interface "イーサネット" disabled
ECHO 一時的に光回線(有線・イーサネット)をOFFにしました
timeout 30
netsh interface set interface "イーサネット" enabled
if ERRORLEVEL = 1 PAUSE
----------
上記を拡張子batで保存し、参考URL同様にショートカット経由で管理者権限で起動するようにしました。
※メモ帳で編集したとき、デフォルトでUTF-8→ANSIにすることを知らずに文字化けして上手く動かなかったのはお約束。
これで、書き込む直前にショートカットで起動すれば
30秒だけ光回線が切れ、wifi=携帯回線で書き込める
その後は自動復帰するので繋ぎ忘れが無くなった
もしもっと良い方法があれば教えてくださいm(_ _)m
試行錯誤の後、携帯回線を無線子機経由、テザリングで繋いでおき
「ネットワークアダプター」のページからイーサネット(有線)を無効にして書き込み、
書き込みが終わったら再び光回線を有効にするようにした
しかし、つい携帯回線に切り換えたのを忘れたまま動画を観てしまうようなことが何度もあり、
1回で月無料分のギガを使い切ってしまい、有料になったり速度制限がかかったりして不便&勿体ないので
なんとかバッチ処理出来ないかと思い、
「有線LAN 無効化 バッチ」で検索して見つけた下記のページを参考にしてバッチファイルを作ってみた
↓
https://mseeeen.msen.jp/switch-network-adapter-enabled-in-windows-with-batch-file/
----------
@ECHO OFF
netsh interface set interface "イーサネット" disabled
ECHO 一時的に光回線(有線・イーサネット)をOFFにしました
timeout 30
netsh interface set interface "イーサネット" enabled
if ERRORLEVEL = 1 PAUSE
----------
上記を拡張子batで保存し、参考URL同様にショートカット経由で管理者権限で起動するようにしました。
※メモ帳で編集したとき、デフォルトでUTF-8→ANSIにすることを知らずに文字化けして上手く動かなかったのはお約束。
これで、書き込む直前にショートカットで起動すれば
30秒だけ光回線が切れ、wifi=携帯回線で書き込める
その後は自動復帰するので繋ぎ忘れが無くなった
もしもっと良い方法があれば教えてくださいm(_ _)m
681デフォルトの名無しさん
2022/03/12(土) 10:55:59.83ID:i3Z8TR4r ネットワークの有効無効を変える必要はなくて、単にどっちがデフォルトゲートウェイになるかを制御するだけで十分だよ
スマホ側にプロキシたてて、専ブラ(だよね?)からそのプロキシを使うように設定すれば常時5chだけスマホ側に流すこともできる
スマホ側にプロキシたてて、専ブラ(だよね?)からそのプロキシを使うように設定すれば常時5chだけスマホ側に流すこともできる
682デフォルトの名無しさん
2022/03/12(土) 12:05:05.72ID:vZQIGC81 5chのipでルーティングの設定するだけでは?
683デフォルトの名無しさん
2022/03/12(土) 13:36:04.21ID:i3Z8TR4r 理論的にはそうだけど実際5chが使ってるIP範囲調べたことあるかい?
CDN通してるから、取りうるIP範囲まるごとスマホに流したら5ch以外の多くのサイトのトラフィックもそっちに流れてデータ通信容量が消費されてしまう
CDN通してるから、取りうるIP範囲まるごとスマホに流したら5ch以外の多くのサイトのトラフィックもそっちに流れてデータ通信容量が消費されてしまう
684デフォルトの名無しさん
2022/03/12(土) 13:41:51.25ID:i3Z8TR4r 途中で書き込んでしまった
消費されてしまうので、L3レベルでの経路選択は現実的ではない
なので一時的にまるごと切り替えてしまうか、URLを指定してシステム全体でプロキシ設定を行う、専ブラについてるプロキシ機能を使うとかのが良い
しっかりインスペクションして経路振り分けられるルーターを用意して設定できるならそれもありだが一般人向けではない
消費されてしまうので、L3レベルでの経路選択は現実的ではない
なので一時的にまるごと切り替えてしまうか、URLを指定してシステム全体でプロキシ設定を行う、専ブラについてるプロキシ機能を使うとかのが良い
しっかりインスペクションして経路振り分けられるルーターを用意して設定できるならそれもありだが一般人向けではない
685680
2022/03/12(土) 14:48:36.28ID:1/likOkq >>681
流石ですね!あっという間に より良い方法を考えつくとは!
…ですが、専ブラに登録している全てのスレの新着チェック(=下り)は光回線で出来るので、
ギガ節約のためにも、無理にスマホに流さなくて良いのですよ
専ブラの上り(=書き込み)だけ携帯回線に流すバッチなんて作れますかね?
ヒントや参考になるURLでも構わないのですが
流石ですね!あっという間に より良い方法を考えつくとは!
…ですが、専ブラに登録している全てのスレの新着チェック(=下り)は光回線で出来るので、
ギガ節約のためにも、無理にスマホに流さなくて良いのですよ
専ブラの上り(=書き込み)だけ携帯回線に流すバッチなんて作れますかね?
ヒントや参考になるURLでも構わないのですが
686デフォルトの名無しさん
2022/03/12(土) 14:54:48.13ID:1/likOkq PC再起動したら、 >>680 のバッチ実行時に「この関数を完了できません」が出て 狙い通りに動かなくなってしまった
仕方なく、以前と同じように 「アダプターのオプションを変更する」 からイーサネットを無効にして接続中
一番最初は 5chに書き込むたびにPCの裏に回り、 いちいち外しにくいLANケーブルを切り離していたから、
これでも 石器時代から稲作が出来るくらいには進化しているのだがw
たぶん名前が一致しなくなってしまった?のが原因と思うので、自分で対策してみますm(_ _)m
仕方なく、以前と同じように 「アダプターのオプションを変更する」 からイーサネットを無効にして接続中
一番最初は 5chに書き込むたびにPCの裏に回り、 いちいち外しにくいLANケーブルを切り離していたから、
これでも 石器時代から稲作が出来るくらいには進化しているのだがw
たぶん名前が一致しなくなってしまった?のが原因と思うので、自分で対策してみますm(_ _)m
687デフォルトの名無しさん
2022/03/12(土) 19:45:55.71ID:i3Z8TR4r 全自動で書き込みだけ他に流す仕組み考えてみたけど作らなきゃいけない部分もあるから質問者が実行できる気がしない(もはやスレチレベル)
スマホと書いてあるけど、安いPPPoEのプロバイダ契約するとか、donedoneや楽天、povoみたいな基本0円のSIM+モバイルルーターの回線と余ってるPCや仮想マシンを使っても良い
専ブラが使ってる5chのAPIの各リクエストが分離できる(事前に認証を行ったりする必要がない)と仮定すれば以下の仕組みで行けるはず
自宅内に5ch.netの各サーバーのリバースプロキシを立ててオレオレCA運用を行う
クライアント側でCAの自己証明書をOSに追加して、そのローカルIPをhostsで5chの各サーバに設定する
リバースプロキシ側で特定のパスのリクエストだけはスマホ側に用意したサーバーに投げる
スマホ側のサーバーはリクエストを受け取ったら、正しい5chのサーバーに投げて、その応答を返す
スマホと書いてあるけど、安いPPPoEのプロバイダ契約するとか、donedoneや楽天、povoみたいな基本0円のSIM+モバイルルーターの回線と余ってるPCや仮想マシンを使っても良い
専ブラが使ってる5chのAPIの各リクエストが分離できる(事前に認証を行ったりする必要がない)と仮定すれば以下の仕組みで行けるはず
自宅内に5ch.netの各サーバーのリバースプロキシを立ててオレオレCA運用を行う
クライアント側でCAの自己証明書をOSに追加して、そのローカルIPをhostsで5chの各サーバに設定する
リバースプロキシ側で特定のパスのリクエストだけはスマホ側に用意したサーバーに投げる
スマホ側のサーバーはリクエストを受け取ったら、正しい5chのサーバーに投げて、その応答を返す
688デフォルトの名無しさん
2022/03/12(土) 20:42:13.77ID:dQfogYw2 ま、5chはIPは5つしか無いけど
104.18.231.150
104.18.232.150
104.18.233.150
104.18.234.150
104.18.235.150
これはどの鯖でも共通(apiだろうがegg,kizuna,meviusだろうが)で
この5つのどれかをランダムで使う
なお、このIPは導入時から変わってない
104.18.231.150
104.18.232.150
104.18.233.150
104.18.234.150
104.18.235.150
これはどの鯖でも共通(apiだろうがegg,kizuna,meviusだろうが)で
この5つのどれかをランダムで使う
なお、このIPは導入時から変わってない
689デフォルトの名無しさん
2022/03/18(金) 00:52:20.19ID:SoYXm1dj startでバッチファイルを実行すると、cmdウィンドウが残る
バッチファイルの最後をexit /B でなくexitにすると残らなかった
バッチファイルの最後をexit /B でなくexitにすると残らなかった
690デフォルトの名無しさん
2022/03/18(金) 07:45:35.96ID:5cZqh0Cb help exitに書いてあるでしょ
691デフォルトの名無しさん
2022/03/24(木) 13:13:33.35ID:dCVvmFB6 最近ReactOSのソース読み始めたが勉強になるな
変な挙動のところは親切に#ifndef MSCMD_XXX_QUIRKSって書いてあってわろ
MS-DOS2.0のソースはMS公式が公開してるけどアセンブリは難解すぎて諦めた
変な挙動のところは親切に#ifndef MSCMD_XXX_QUIRKSって書いてあってわろ
MS-DOS2.0のソースはMS公式が公開してるけどアセンブリは難解すぎて諦めた
692デフォルトの名無しさん
2022/03/26(土) 06:55:33.59ID:NhkQRxfw batにVBS仕込めるけど、JSは仕込める?
他に仕込めるものある?
他に仕込めるものある?
693デフォルトの名無しさん
2022/03/26(土) 12:54:10.76ID:vpv2MT5y ググれよ
WSH(JScript)なら可、JavaScriptは無理だと思う
PowerShellも可
WSH(JScript)なら可、JavaScriptは無理だと思う
PowerShellも可
694デフォルトの名無しさん
2022/03/29(火) 16:59:49.39ID:zndnyGpb Batになんか仕込むんならPowershellがいちばん簡単
VBSも上手いことやれば仕込めるし
VBSも上手いことやれば仕込めるし
695デフォルトの名無しさん
2022/03/29(火) 17:48:10.85ID:Da68lL6t >>631 みたいにすれば大体何でもイケるんじゃね
696デフォルトの名無しさん
2022/03/29(火) 18:45:33.65ID:CGMVb58j 我が家では外部ファイルを使うのは邪道とされておるのだ
697デフォルトの名無しさん
2022/03/29(火) 21:38:59.70ID:6qHTZxky 631みたいのはバッチ内のPowerShellでもっとスマートに書けるね
相変わらずコンソール消しても一瞬出てきて邪魔だけど
完全に消すにはvbsから呼んだりで結局2ファイルになる
相変わらずコンソール消しても一瞬出てきて邪魔だけど
完全に消すにはvbsから呼んだりで結局2ファイルになる
698デフォルトの名無しさん
2022/04/03(日) 02:50:31.03ID:hpCvdrMf バッチ自体を初めて作っててクリップボードのテキストを[]で囲んだ名前のフォルダをデスクトップに作りたいんだけど
powershell get-clipboardでクリップボードから持ってくる
mdとかNew-Item NewDirecrtoryでフォルダを作る
までわかって|とか>で色々試して見たんだけどまあ上手くいくはずもなく
そもそも出来る事なのかもわからないから質問しに来ました!たっけてー
powershell get-clipboardでクリップボードから持ってくる
mdとかNew-Item NewDirecrtoryでフォルダを作る
までわかって|とか>で色々試して見たんだけどまあ上手くいくはずもなく
そもそも出来る事なのかもわからないから質問しに来ました!たっけてー
699デフォルトの名無しさん
2022/04/03(日) 08:04:11.49ID:VNoVBeip for /f "delims=" %%a in ('powershell clipboard') do md [%a]
700デフォルトの名無しさん
2022/04/03(日) 08:07:00.01ID:VNoVBeip for /f "delims=" %%a in ('powershell clipboard') do md [%%~a]
701デフォルトの名無しさん
2022/04/03(日) 09:37:15.22ID:hpCvdrMf >>700
ありがとう!
for /f "delims=" %%a in ('powershell clipboard') do md C:\Users\----\Desktop\[%%~a]
でいけました。
ありがとう!
for /f "delims=" %%a in ('powershell clipboard') do md C:\Users\----\Desktop\[%%~a]
でいけました。
702デフォルトの名無しさん
2022/04/03(日) 15:33:41.09ID:MONKPJtx >>698
ちなみにPowerShellだけなら
powershell -c "Get-ClipBoard | ?{$_} | foreach {$dirName='[{0}]' -f $_; $dirPath=[IO.Path]::Combine([Environment]::GetFolderPath('Desktop'), $dirName); $null=[IO.Directory]::CreateDirectory($dirPath);}"
ちなみにPowerShellだけなら
powershell -c "Get-ClipBoard | ?{$_} | foreach {$dirName='[{0}]' -f $_; $dirPath=[IO.Path]::Combine([Environment]::GetFolderPath('Desktop'), $dirName); $null=[IO.Directory]::CreateDirectory($dirPath);}"
703デフォルトの名無しさん
2022/04/03(日) 15:38:56.15ID:XWBs+Kvf704デフォルトの名無しさん
2022/04/03(日) 17:32:35.14ID:5jbreqOF スペースのある文字列の扱いがわからんな
複数作ることを意図または許容するのか否かでちょっと違ってくる
複数作ることを意図または許容するのか否かでちょっと違ってくる
705デフォルトの名無しさん
2022/04/03(日) 22:48:33.20ID:7tiScrqu cmdのmkdirで作るか>>702みたいに.NETのAPIで作るかWin2APIで作るかでも違ってくる
706デフォルトの名無しさん
2022/04/03(日) 23:24:55.78ID:hpCvdrMf 色々方法があるけど何かしらcmdのみでは出来ないって事だけはわかった
面白いから少し勉強しようかなあ
面白いから少し勉強しようかなあ
707デフォルトの名無しさん
2022/04/14(木) 00:56:37.37ID:FFCnePh6 batにドラッグするだけで複数zipを同じ階層に解凍してくれるbatが作りたいです。
圧縮の場合は
@echo off
path C:\Program Files\7-Zip;%path%
for %%i in (%*) do cd /d "%%~i" && 7z a "%%~i.zip" *
で出来るのですが、解凍の場合がわかりません。わかる方いれば教えていただきたいです。宜しくお願い致します。
圧縮の場合は
@echo off
path C:\Program Files\7-Zip;%path%
for %%i in (%*) do cd /d "%%~i" && 7z a "%%~i.zip" *
で出来るのですが、解凍の場合がわかりません。わかる方いれば教えていただきたいです。宜しくお願い致します。
708デフォルトの名無しさん
2022/04/14(木) 02:56:14.25ID:wBUYMDtu :start
if "%~1"=="" goto :EOF
7z.exe x "%~1" -o"%~dpn1" -y
shift
goto :start
if "%~1"=="" goto :EOF
7z.exe x "%~1" -o"%~dpn1" -y
shift
goto :start
709デフォルトの名無しさん
2022/04/14(木) 16:24:25.05ID:NCtDoq3M 俺の勘違いだったらすまん
ドラッグで引数を渡す系だとバッチは括弧付きのファイル名が入った時点で破綻するような気がする
変なしがらみのないvbsやjs辺りで書いた方がいいかも
ドラッグで引数を渡す系だとバッチは括弧付きのファイル名が入った時点で破綻するような気がする
変なしがらみのないvbsやjs辺りで書いた方がいいかも
710デフォルトの名無しさん
2022/04/14(木) 18:16:44.99ID:qAvWbsmN 括弧の他にも色々とダメ文字が頭に浮かぶな
711デフォルトの名無しさん
2022/04/14(木) 20:34:57.53ID:YeXmNplS 複数選択のコンテキストメニューから展開した方がいいのでは
712デフォルトの名無しさん
2022/04/15(金) 20:04:21.77ID:neP5mDTX713デフォルトの名無しさん
2022/04/15(金) 20:49:13.87ID:6g+y36jy echo on で何が起きているか調べろ
ちなみに何をドラッグしているのか?
ちなみに何をドラッグしているのか?
714デフォルトの名無しさん
2022/04/15(金) 21:59:36.90ID:EPzG8fyD715デフォルトの名無しさん
2022/04/15(金) 22:29:24.28ID:4ntMkwZZ どこのスレのことかと思いましたが、
7-Zip総合スレ Part 10
https://egg.5ch.net/test/read.cgi/software/1520243361/454-
のことでしょうかね。
たしかに、>>707は、この人かも。
7-Zip総合スレ Part 10
https://egg.5ch.net/test/read.cgi/software/1520243361/454-
のことでしょうかね。
たしかに、>>707は、この人かも。
716デフォルトの名無しさん
2022/04/15(金) 23:09:37.54ID:7iiWUl24 ファイル名に半角スペースがあるとエラーになるよね
717デフォルトの名無しさん
2022/04/15(金) 23:40:21.50ID:neP5mDTX フォルダを圧縮したいのでフォルダドラッグしてます それはbatファイルでは不可能なんですかね
718デフォルトの名無しさん
2022/04/15(金) 23:56:17.81ID:cTakk7Wr これ以上触ってはいけないような気がする
719デフォルトの名無しさん
2022/04/16(土) 05:57:00.04ID:ZvCxX7eE720デフォルトの名無しさん
2022/04/16(土) 10:15:06.24ID:Xjbe7mxo 昔自作したやつがそう言えばどっかにあったな
色々試したけどzip名に全角スペースが含まれてる場合だけはどうにも出来なくて別のリネームバッチで半角スペースに置き換えてたわ
色々試したけどzip名に全角スペースが含まれてる場合だけはどうにも出来なくて別のリネームバッチで半角スペースに置き換えてたわ
721デフォルトの名無しさん
2022/04/16(土) 14:56:19.74ID:D1hG0R6r list1.txt
田中
山田
list2.txt
一郎
次郎
三郎
に対して
xj.bat
@echo off
setlocal enabledelayedexpansion
call :crossjoin "" %*
exit /b
:crossjoin
for /F "tokens=*" %%l in (%~2) do (
if [%~3] == [] (
set x=%~1%%l
echo !x:__=,!
) else (
set y= %*
set y=!y: %1=!
set y=!y: %2=!
call :crossjoin "%~1%%l__" !y!
)
)
を動かすと
xj.bat list1.txt list2.txt (続く)
田中
山田
list2.txt
一郎
次郎
三郎
に対して
xj.bat
@echo off
setlocal enabledelayedexpansion
call :crossjoin "" %*
exit /b
:crossjoin
for /F "tokens=*" %%l in (%~2) do (
if [%~3] == [] (
set x=%~1%%l
echo !x:__=,!
) else (
set y= %*
set y=!y: %1=!
set y=!y: %2=!
call :crossjoin "%~1%%l__" !y!
)
)
を動かすと
xj.bat list1.txt list2.txt (続く)
722デフォルトの名無しさん
2022/04/16(土) 14:56:54.30ID:D1hG0R6r 田中,一郎
田中,次郎
田中,三郎
山田,一郎
山田,次郎
山田,三郎
を得ます
このバッチファイルを
list3.txt
姓
田中
山田
list4.txt
名前
一郎
次郎
三郎
と、見出しが入ったファイルに対応するよう
改造していただけませんか
田中,次郎
田中,三郎
山田,一郎
山田,次郎
山田,三郎
を得ます
このバッチファイルを
list3.txt
姓
田中
山田
list4.txt
名前
一郎
次郎
三郎
と、見出しが入ったファイルに対応するよう
改造していただけませんか
723デフォルトの名無しさん
2022/04/16(土) 15:04:34.68ID:akel0sHj for /i分にskip=1指定入れてみるとか
724721
2022/04/16(土) 15:25:35.02ID:D1hG0R6r ありがとうございます
今アンドロイドなので、PC使えるときに
試して報告します
ちなみに、こういう総当りって、awkやPerl
でも作れるものでしょうか?
今アンドロイドなので、PC使えるときに
試して報告します
ちなみに、こういう総当りって、awkやPerl
でも作れるものでしょうか?
725デフォルトの名無しさん
2022/04/16(土) 15:43:07.54ID:pX/6gg3y %%lとか気持ち悪いな
こういうこと?
for /f "skip=1 delims=" %%a in (list3.txt) do for /f "skip=1 delims=" %%b in (list4.txt) do echo %%a,%%b
pause
なんでcallしたり置換したり面倒臭い事してるのか分からん
こういうこと?
for /f "skip=1 delims=" %%a in (list3.txt) do for /f "skip=1 delims=" %%b in (list4.txt) do echo %%a,%%b
pause
なんでcallしたり置換したり面倒臭い事してるのか分からん
726721
2022/04/16(土) 15:58:27.63ID:D1hG0R6r ありがとうございます
引用先の元ネタは、list1.txtなどの
対象ファイルがいくつでもいけます
そのためかと
引用先の元ネタは、list1.txtなどの
対象ファイルがいくつでもいけます
そのためかと
727デフォルトの名無しさん
2022/04/16(土) 17:13:22.10ID:nVJ4wCm0 やりたい事に対して一見して処理が意味不明
コードレビューすれば必ず突っ込みが入るパターン
コードレビューすれば必ず突っ込みが入るパターン
728デフォルトの名無しさん
2022/04/16(土) 17:39:10.95ID:akel0sHj shiftとか知らんのかな
729721
2022/04/17(日) 14:55:17.75ID:wrqgojCl "tokens=*" を
"skip=1 tokens=*" に変えたら
見出しを飛ばしてデータを作ってくれました
だけど出力ファイルが大きいとかなり
時間がかかりますね
元ネタのところに行ってVBS版の作成を
依頼してみます
ありがとうございました
"skip=1 tokens=*" に変えたら
見出しを飛ばしてデータを作ってくれました
だけど出力ファイルが大きいとかなり
時間がかかりますね
元ネタのところに行ってVBS版の作成を
依頼してみます
ありがとうございました
730デフォルトの名無しさん
2022/04/17(日) 15:10:00.22ID:jfoLRRUl ニコイチする度にcallしてたらそりゃ遅いわ
再帰でのcallやめるだけで結構速くなるよ
再帰でのcallやめるだけで結構速くなるよ
731デフォルトの名無しさん
2022/04/17(日) 16:31:06.01ID:A4GG7JI6 ハッチ処理はあまりやりたくないから、
もっとかっこいい言語でかいて、バッチに変換する(コンパイル)できるといい
バッチ見えなく化計画
もっとかっこいい言語でかいて、バッチに変換する(コンパイル)できるといい
バッチ見えなく化計画
732デフォルトの名無しさん
2022/04/17(日) 17:32:55.50ID:iLyScgaF >>708さんのを使ってみました
ファイル名にスペースが入っていると展開されないのを回避することできますか
:start
if "%~1"=="" goto :EOF
"C:\Program Files\7-Zip\7zG.exe" x "%1"
shift
goto :start
ファイル名にスペースが入っていると展開されないのを回避することできますか
:start
if "%~1"=="" goto :EOF
"C:\Program Files\7-Zip\7zG.exe" x "%1"
shift
goto :start
733デフォルトの名無しさん
2022/04/17(日) 17:39:26.89ID:b4thkYbt 上で"%~1"使ってるのに下では"%1"にしてる
734デフォルトの名無しさん
2022/04/17(日) 17:41:48.86ID:jfoLRRUl echoやpause使ってコマンド文がどうなってるのか確認したら?
735デフォルトの名無しさん
2022/04/17(日) 17:50:28.17ID:iLyScgaF736デフォルトの名無しさん
2022/04/17(日) 18:36:17.23ID:i7g3Seu6 いつまでこんなレガシー機能を使い続けるの
737デフォルトの名無しさん
2022/04/18(月) 11:21:00.70ID:PhhBhq60 >>736
powerShellがダブククリックで使えないし
powerShellがダブククリックで使えないし
738デフォルトの名無しさん
2022/04/18(月) 11:27:46.45ID:t3NwdXGg シンプルだからこそC++でジェネレートした.batを目視確認してから実行とかしやすいわけで
739デフォルトの名無しさん
2022/04/18(月) 13:50:09.12ID:OF8RRP9C >>730
どう書けばいいですか?
どう書けばいいですか?
740デフォルトの名無しさん
2022/04/18(月) 14:16:43.44ID:74jROqLf すでにあるコマンドを使うというのは楽でいい
もう少し細かいことをしたいと思うと苦労するけど
もう少し細かいことをしたいと思うと苦労するけど
741デフォルトの名無しさん
2022/04/20(水) 03:57:14.74ID:RFdms0p+ PAUSEコマンド関連で質問です
バッチファイル中にPAUSEコマンドを入れるとそこでキー入力を待ちますが、
その延長で
・エクスプローラでダブルクリックされて起動された場合はPAUSEで止める
・コマンドプロンプトから起動された場合は止めない
ということをしたいです
PAUSEコマンド自体には何もオプション等は無いようなのですが、何か方法はありますか
環境変数等をみて動作を切り替えることができないか調べてみましたが、
どちらの方法で起動されても同一なようで、悩んでおります
バッチファイル中にPAUSEコマンドを入れるとそこでキー入力を待ちますが、
その延長で
・エクスプローラでダブルクリックされて起動された場合はPAUSEで止める
・コマンドプロンプトから起動された場合は止めない
ということをしたいです
PAUSEコマンド自体には何もオプション等は無いようなのですが、何か方法はありますか
環境変数等をみて動作を切り替えることができないか調べてみましたが、
どちらの方法で起動されても同一なようで、悩んでおります
742デフォルトの名無しさん
2022/04/20(水) 05:42:50.53ID:q7JwT6An743デフォルトの名無しさん
2022/04/20(水) 07:19:49.48ID:Cwlkz3kl コマンドプロンプトを起動するときのショートカットに/k:autoexec.batを入れて
autoexec.batの中でset not_double_click=true
そしてダブルクリックで起動するバッチの中で
if not "%not_double_click%"=="true" pause
とか、どうかな
autoexec.batの中でset not_double_click=true
そしてダブルクリックで起動するバッチの中で
if not "%not_double_click%"=="true" pause
とか、どうかな
744デフォルトの名無しさん
2022/04/20(水) 09:15:24.62ID:RFdms0p+ >>742-743
回答どうもです
なるほど、ショートカットを作り、そこに判定の仕掛けを入れる、という方式ですね
ツールを配布するときは、ショートカットの設定やコマンドプロンプトの設定を
するためのインストーラが必要になりそうですね…
バッチファイル単体でどうにか…と思いましたが、検討してみます
回答どうもです
なるほど、ショートカットを作り、そこに判定の仕掛けを入れる、という方式ですね
ツールを配布するときは、ショートカットの設定やコマンドプロンプトの設定を
するためのインストーラが必要になりそうですね…
バッチファイル単体でどうにか…と思いましたが、検討してみます
745デフォルトの名無しさん
2022/04/20(水) 09:26:15.67ID:q7JwT6An746デフォルトの名無しさん
2022/04/21(木) 14:21:13.38ID:asEavXVa 昔の友は 今も友
俺とお前と(デンデン)大五郎
俺とお前と(デンデン)大五郎
747デフォルトの名無しさん
2022/04/21(木) 16:29:36.51ID:7MR/4l0o ちゃん!
748デフォルトの名無しさん
2022/04/24(日) 09:15:29.28ID:vcjjnxKB >>739
setlocal enabledelayedexpansion
set n=0
for %%a in (%*) do set /a n+=1
if %n% GTR 64 >&2 echo ERROR: Args is Max limit 64 exceeded.&pause&exit /b 1
set A=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$+-/:@[]_{}
set i=0
for %%a in (%*) do for %%b in (!i!) do for /f %%c in ("!A:~%%b,1!") do (
set "CMD_FOR=!CMD_FOR!for /f "usebackq delims=" %%%%c in (%%a) do "
set CMD_OUT=!CMD_OUT!,%%%%c
set /a i+=1
)
%CMD_FOR%echo %CMD_OUT:~1%
pause&exit /b 0
引数最大64個になってるけどfor変数のリストset Aを追加すれば増やせる
実際にどこまでforを多段に出来るかは知らない
コマンドの文字数制限とかあったような気がする
setlocal enabledelayedexpansion
set n=0
for %%a in (%*) do set /a n+=1
if %n% GTR 64 >&2 echo ERROR: Args is Max limit 64 exceeded.&pause&exit /b 1
set A=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$+-/:@[]_{}
set i=0
for %%a in (%*) do for %%b in (!i!) do for /f %%c in ("!A:~%%b,1!") do (
set "CMD_FOR=!CMD_FOR!for /f "usebackq delims=" %%%%c in (%%a) do "
set CMD_OUT=!CMD_OUT!,%%%%c
set /a i+=1
)
%CMD_FOR%echo %CMD_OUT:~1%
pause&exit /b 0
引数最大64個になってるけどfor変数のリストset Aを追加すれば増やせる
実際にどこまでforを多段に出来るかは知らない
コマンドの文字数制限とかあったような気がする
749721
2022/04/24(日) 11:08:56.51ID:IqM9oVR7 >>748
頭に@echo offをつけやってみました
10万行ぐらいの出力ファイルを
ローカルHDDに作ると
721では30分、
748では5分以内
(いつ終わったか分からないため)
となりました
ファイルのお尻になんか1行
ついてるのはご愛敬
頭に@echo offをつけやってみました
10万行ぐらいの出力ファイルを
ローカルHDDに作ると
721では30分、
748では5分以内
(いつ終わったか分からないため)
となりました
ファイルのお尻になんか1行
ついてるのはご愛敬
750デフォルトの名無しさん
2022/04/24(日) 19:27:47.47ID:lnSwl1A7 そこまで変わるのか
751デフォルトの名無しさん
2022/04/24(日) 23:16:01.47ID:YqrbVxmA752デフォルトの名無しさん
2022/04/24(日) 23:53:10.74ID:/3xv87ig この程度で分からんとか流石にそれはおまえの頭が悪すぎだろう
753デフォルトの名無しさん
2022/04/25(月) 23:47:31.88ID:3ou64YUW >>748の解説オナシャス!
754デフォルトの名無しさん
2022/04/26(火) 00:02:39.06ID:/dRsx73H755デフォルトの名無しさん
2022/04/26(火) 00:45:33.71ID:EhTMueYx いや特にその2行が意味不明で察せないんだわ
756デフォルトの名無しさん
2022/04/26(火) 01:04:14.98ID:/dRsx73H 1、2行入れたList.txt用意してecho onで実行して追ってみればどこがどうなってるのかくらい池沼でなければ分かるでしょ
757デフォルトの名無しさん
2022/04/26(火) 23:13:58.40ID:AEcCnDU9 フォルダの中にファイルが10個以上あったらタイムスタンプが一番古いファイルを削除する処理をバッチファイルでどう書くかどなたか教えろください。。
758デフォルトの名無しさん
2022/04/26(火) 23:29:20.25ID:OAZlYJMq >>757
ジャバスクリプト使え
ジャバスクリプト使え
759デフォルトの名無しさん
2022/04/27(水) 01:07:40.77ID:c7tqZe1K dirでソートしたのをforでskipしてdelすればいいんじゃね
760デフォルトの名無しさん
2022/04/27(水) 01:13:28.18ID:4aF/byUR バックアップファイルでも溜め込んでるのかな?
761デフォルトの名無しさん
2022/04/27(水) 01:13:59.63ID:CxYG3qjN pushd, popdは出口exitがたくさんあったり、あちこちgotoしたりすると
つじつまがあわなくなることがある
そういう時は%cd%でフォルダ位置を覚えておき、最後そこに戻すほうが気分的に楽
つじつまがあわなくなることがある
そういう時は%cd%でフォルダ位置を覚えておき、最後そこに戻すほうが気分的に楽
762デフォルトの名無しさん
2022/04/27(水) 03:00:29.08ID:itKYtkFa >>757
for /f "skip=9 delims=" %%a in ('dir /a-d /b /o-d') do del "%%a"
for /f "skip=9 delims=" %%a in ('dir /a-d /b /o-d') do del "%%a"
763デフォルトの名無しさん
2022/04/27(水) 18:14:04.80ID:pviHRewB >>757
Ruby で書いてみた。
DryRun なので、実際にはファイルは削除されません
require 'fileutils'
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
dir_path = "C:/Users/Owner/Documents/test/*"
# そのディレクトリ内の全てのファイルパス・更新時刻を取得する。
# [ ファイルパス, 更新時刻 ]の配列の配列を戻す
def collect_filepaths_and_mtime( dir_path )
Dir.glob( dir_path )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.map { |full_path| [ full_path, File.stat( full_path ).mtime ] } # [ ファイルパス, 更新時刻 ]
end
temp_ary = collect_filepaths_and_mtime( dir_path )
if temp_ary.length >= 10
temp_ary.sort_by! { |ary| ary[ 1 ] } # 更新時刻の古い順でソート
# p temp_ary
FileUtils::DryRun.remove( temp_ary.first[ 0 ] ) # 削除
else
puts "ファイル数は#{ temp_ary.length } です。処理するファイルはありません!"
end
Ruby で書いてみた。
DryRun なので、実際にはファイルは削除されません
require 'fileutils'
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
dir_path = "C:/Users/Owner/Documents/test/*"
# そのディレクトリ内の全てのファイルパス・更新時刻を取得する。
# [ ファイルパス, 更新時刻 ]の配列の配列を戻す
def collect_filepaths_and_mtime( dir_path )
Dir.glob( dir_path )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.map { |full_path| [ full_path, File.stat( full_path ).mtime ] } # [ ファイルパス, 更新時刻 ]
end
temp_ary = collect_filepaths_and_mtime( dir_path )
if temp_ary.length >= 10
temp_ary.sort_by! { |ary| ary[ 1 ] } # 更新時刻の古い順でソート
# p temp_ary
FileUtils::DryRun.remove( temp_ary.first[ 0 ] ) # 削除
else
puts "ファイル数は#{ temp_ary.length } です。処理するファイルはありません!"
end
764デフォルトの名無しさん
2022/04/29(金) 11:23:44.95ID:X7f5QGPR powershell
gci -File | sort -P LastWriteTime -D | select -Skip 10 | %{ del $_.FullName -Fo}
gci -File | sort -P LastWriteTime -D | select -Skip 10 | %{ del $_.FullName -Fo}
765デフォルトの名無しさん
2022/04/30(土) 11:02:51.79ID:usL/g0YR >>748
for /L 129個でやってみた
流石に途中で止めたけど以下で問題無く動いているようだから for の段数自体に制限はなさそう
文字数制限は過去ログで set が8190文字とか見たような
cmd.exe が1度にパース出来る文字数なのか setコマンドの制限なのかは分からないけど前者ならそこが限界になるね
@echo off
setlocal enabledelayedexpansion
set $$$=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$+-/:@[]_{}。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚'\
set iii=0
for /L %%a in (1,1,129) do for %%b in (!iii!) do for /f %%c in ("!$$$:~%%b,1!") do (
set "CMD_FOR=!CMD_FOR!for /L %%%%c in (0,1,1) do "
set CMD_OUT=!CMD_OUT!%%%%c
set /a iii+=1
)
copy nul out.txt >nul
echo "%CMD_FOR%>>out.txt echo %CMD_OUT%"
%CMD_FOR%>>out.txt echo %CMD_OUT%
pause&exit /b
for /L 129個でやってみた
流石に途中で止めたけど以下で問題無く動いているようだから for の段数自体に制限はなさそう
文字数制限は過去ログで set が8190文字とか見たような
cmd.exe が1度にパース出来る文字数なのか setコマンドの制限なのかは分からないけど前者ならそこが限界になるね
@echo off
setlocal enabledelayedexpansion
set $$$=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$+-/:@[]_{}。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚'\
set iii=0
for /L %%a in (1,1,129) do for %%b in (!iii!) do for /f %%c in ("!$$$:~%%b,1!") do (
set "CMD_FOR=!CMD_FOR!for /L %%%%c in (0,1,1) do "
set CMD_OUT=!CMD_OUT!%%%%c
set /a iii+=1
)
copy nul out.txt >nul
echo "%CMD_FOR%>>out.txt echo %CMD_OUT%"
%CMD_FOR%>>out.txt echo %CMD_OUT%
pause&exit /b
766デフォルトの名無しさん
2022/05/06(金) 05:51:24.45ID:QgRBAFzX Dracura配色にしたら目に優しくオサレになった
https://draculatheme.com/contribute
PowerShellとかWindows Terminalとかのテーマもいろいろある
https://draculatheme.com/
https://draculatheme.com/contribute
PowerShellとかWindows Terminalとかのテーマもいろいろある
https://draculatheme.com/
767デフォルトの名無しさん
2022/05/08(日) 05:37:23.76ID:L9rI0dwl お助けくださいm(vv)m
タスクスケジューラにAdministrators最上位権限の6時間おき無期限タスクを設置しました
エラーなども解決し、やっと定刻に指定したタスクを実行するよう調整出来たのですが、対象となるregファイルの起動≒実行ではなく「次のプログラムを使って開く」的なダイアログ表示になってしまいます
OS上ではダブクリで処理していた内容なので盲点でした
スケジューラでregファイルを使用しレジストリの改変を定期的に行う場合、操作の記述はどのようにすれば宜しいでしょうか?
それか、当該regファイルを実行するためのバッチファイル記述を願いたいです
スケジューラでバッチ実行を指定する方法はネット上にも複数ありました
reg系は散々ググっても検索に出ないのが辛いですね
アドバイスお願いしますm(vv)m
タスクスケジューラにAdministrators最上位権限の6時間おき無期限タスクを設置しました
エラーなども解決し、やっと定刻に指定したタスクを実行するよう調整出来たのですが、対象となるregファイルの起動≒実行ではなく「次のプログラムを使って開く」的なダイアログ表示になってしまいます
OS上ではダブクリで処理していた内容なので盲点でした
スケジューラでregファイルを使用しレジストリの改変を定期的に行う場合、操作の記述はどのようにすれば宜しいでしょうか?
それか、当該regファイルを実行するためのバッチファイル記述を願いたいです
スケジューラでバッチ実行を指定する方法はネット上にも複数ありました
reg系は散々ググっても検索に出ないのが辛いですね
アドバイスお願いしますm(vv)m
768デフォルトの名無しさん
2022/05/08(日) 06:42:10.44ID:21iaPdPG >>767
単に regedit %1 すりゃいい話じゃなくて?
単に regedit %1 すりゃいい話じゃなくて?
769デフォルトの名無しさん
2022/05/08(日) 07:07:27.41ID:L9rI0dwl レジストリ等は長年平気で触っているくせに、コマンド的な知識・技量ともに不足しており、コピペやポン入れ以外の微調整が出来ませんでした
XPか7時代に作った
----------
@echo off
echo.
echo ==========================================
echo 「高速スタートアップを有効にする」の無効化
echo ==========================================
echo.
rem -----「高速スタートアップを有効にする」の無効化 -----
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Power" /v "HiberbootEnabled" /t REG_DWORD /d "0" /f
pause
exit
----------
を発見し、そのままreg用バッチとして該当箇所コピー入れ替え→余裕のタスク発動→regも無事改変されました
元のソースがあるからこその応用ですが、スレをお騒がせして申し訳ありませんm(vv)m
コピペ文化は自業自得ながらも辛いものがありますね
XPか7時代に作った
----------
@echo off
echo.
echo ==========================================
echo 「高速スタートアップを有効にする」の無効化
echo ==========================================
echo.
rem -----「高速スタートアップを有効にする」の無効化 -----
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Power" /v "HiberbootEnabled" /t REG_DWORD /d "0" /f
pause
exit
----------
を発見し、そのままreg用バッチとして該当箇所コピー入れ替え→余裕のタスク発動→regも無事改変されました
元のソースがあるからこその応用ですが、スレをお騒がせして申し訳ありませんm(vv)m
コピペ文化は自業自得ながらも辛いものがありますね
770デフォルトの名無しさん
2022/05/10(火) 23:03:26.14ID:gcxSlYEt フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
業務委託契約の求職者と企業をマッチング
1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
中小企業で進む副業人材の採用、96%が継続採用を希望
茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給
フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
業務委託契約の求職者と企業をマッチング
1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
中小企業で進む副業人材の採用、96%が継続採用を希望
茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給
フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
771デフォルトの名無しさん
2022/05/19(木) 11:35:25.20ID:aWExf7Ea C:\Freesoftというフォルダにtest.rarというファイルが置いてあって、
それをwinrarの64bit版で
Z:のルートにフォルダを作らずそのまま解凍させるというようなbatファイルが欲しいのですが
誰か記述例を教えてください。
当方batファイルに関しては無知です
それをwinrarの64bit版で
Z:のルートにフォルダを作らずそのまま解凍させるというようなbatファイルが欲しいのですが
誰か記述例を教えてください。
当方batファイルに関しては無知です
772デフォルトの名無しさん
2022/05/19(木) 12:12:20.87ID:aAlRquen773デフォルトの名無しさん
2022/05/19(木) 14:15:05.74ID:Rn3o2leA Ruby スクリプト内で、7-zip を呼び出す場合、
dest_dir に、a フォルダが作られて、その中に再帰的に階層が作られる。
ここで、aフォルダが作られず直接、tmp フォルダ以下へ展開されるオプションは、7-zipでは探せなかった
zip7_exe = "C:/Program Files/7-Zip/7z.exe"
archive_path = "C:/Users/Owner/Documents/test/a.zip"
dest_dir = "C:/Users/Owner/Documents/tmp"
# Program Files には半角空白があるので、"〜" で囲む。
# x で解凍する。-o で解凍先のフォルダを指定する
puts %x("#{ zip7_exe }" x -o#{ dest_dir } #{ archive_path }) # 解凍
つまり、コマンドプロンプトでは、
"C:/Program Files/7-Zip/7z.exe" x -oC:/Users/Owner/Documents/tmp C:/Users/Owner/Documents/test/a.zip
ここでの注意点は、Program Files には半角空白があるので、"〜" で囲む事と、
-oC:/ の、-oとC:/の間に、空白を入れない事
ここで、C:/Program Files/7-Zip を、Windows のユーザー環境変数パスに追加すれば、
絶対パス無しで、7z コマンドを使えるので、
7z x -oC:/〜 C:/〜 と書ける
もし、xではなく、e オプションを使うと、
dest_dirにアーカイブの階層をフラットにして、すべてのフォルダ・ファイルを展開する!
フォルダ構成を無視して解凍する!
限定的な使い方だが、アーカイブが再帰的なフォルダ構成ではない場合には、
これで、aフォルダが作られず直接、dest_dirフォルダへ展開できる!
RAR は試していないが、a.zipの代わりに、a.rarとすれば、
拡張子から自動判別して、解凍できると思う
dest_dir に、a フォルダが作られて、その中に再帰的に階層が作られる。
ここで、aフォルダが作られず直接、tmp フォルダ以下へ展開されるオプションは、7-zipでは探せなかった
zip7_exe = "C:/Program Files/7-Zip/7z.exe"
archive_path = "C:/Users/Owner/Documents/test/a.zip"
dest_dir = "C:/Users/Owner/Documents/tmp"
# Program Files には半角空白があるので、"〜" で囲む。
# x で解凍する。-o で解凍先のフォルダを指定する
puts %x("#{ zip7_exe }" x -o#{ dest_dir } #{ archive_path }) # 解凍
つまり、コマンドプロンプトでは、
"C:/Program Files/7-Zip/7z.exe" x -oC:/Users/Owner/Documents/tmp C:/Users/Owner/Documents/test/a.zip
ここでの注意点は、Program Files には半角空白があるので、"〜" で囲む事と、
-oC:/ の、-oとC:/の間に、空白を入れない事
ここで、C:/Program Files/7-Zip を、Windows のユーザー環境変数パスに追加すれば、
絶対パス無しで、7z コマンドを使えるので、
7z x -oC:/〜 C:/〜 と書ける
もし、xではなく、e オプションを使うと、
dest_dirにアーカイブの階層をフラットにして、すべてのフォルダ・ファイルを展開する!
フォルダ構成を無視して解凍する!
限定的な使い方だが、アーカイブが再帰的なフォルダ構成ではない場合には、
これで、aフォルダが作られず直接、dest_dirフォルダへ展開できる!
RAR は試していないが、a.zipの代わりに、a.rarとすれば、
拡張子から自動判別して、解凍できると思う
774デフォルトの名無しさん
2022/05/20(金) 09:45:16.10ID:lLlVMTfc >>772
C:\Program Files\WinRARのフォルダの中にWinRAR.exeがありますが
別に7zipででもzipでもrarでもかまわないという感じです。
>>773
ありがとうございます。
すいませんがこちらの勘違いで置き場所を間違ってたので変更させてください。
Yドライブ(外付けハードディスク)のsoftというフォルダにabc.zip(ファイル名は仮の名前)
というファイルがあるとして
「Y:\soft/abc.zip」
このabc.zipをZドライブ(RAMディスク)上にbatファイルダブルクリックで解凍したいです。
解凍の際にそのまま解凍でもフォルダを作ってそこに解凍ででもどちらでもかまわないです。
7zipはさっきインストールしました。
7zipと winrarはともに一時ファイルの作成場所をZのtempフォルダに指定してあります
「Z:\rartmp」←こんな感じ。
この場合のbatファイルはどうなりましょうか?
なぜbatで解凍したいかというと、某フリーソフトなんですが更新が頻繁にあって、更新の通知に対してYESを選ぶと小さいサイズの
ファイルを6000個以上書き込むみたいで、更新するのに20分ぐらいかかります。
それだったら更新の通知が来るたびにキャンセルして公式サイトから最新版のzipファイルを入手して
RAMディスク上に解凍したのを起動させたほうが、短い時間ですむんじゃないかという考えです
C:\Program Files\WinRARのフォルダの中にWinRAR.exeがありますが
別に7zipででもzipでもrarでもかまわないという感じです。
>>773
ありがとうございます。
すいませんがこちらの勘違いで置き場所を間違ってたので変更させてください。
Yドライブ(外付けハードディスク)のsoftというフォルダにabc.zip(ファイル名は仮の名前)
というファイルがあるとして
「Y:\soft/abc.zip」
このabc.zipをZドライブ(RAMディスク)上にbatファイルダブルクリックで解凍したいです。
解凍の際にそのまま解凍でもフォルダを作ってそこに解凍ででもどちらでもかまわないです。
7zipはさっきインストールしました。
7zipと winrarはともに一時ファイルの作成場所をZのtempフォルダに指定してあります
「Z:\rartmp」←こんな感じ。
この場合のbatファイルはどうなりましょうか?
なぜbatで解凍したいかというと、某フリーソフトなんですが更新が頻繁にあって、更新の通知に対してYESを選ぶと小さいサイズの
ファイルを6000個以上書き込むみたいで、更新するのに20分ぐらいかかります。
それだったら更新の通知が来るたびにキャンセルして公式サイトから最新版のzipファイルを入手して
RAMディスク上に解凍したのを起動させたほうが、短い時間ですむんじゃないかという考えです
775773
2022/05/20(金) 12:29:11.62ID:SIlSZC9T 773 に書いてあるけど、
Program Files には半角空白があるので、実行ファイルの絶対パスを、"〜"で囲む
"C:/Program Files/WinRAR/WinRAR.exe" 引数1 引数2
ここで、C:/Program Files/WinRAR を、Windows のユーザー環境変数パスに追加すれば、
絶対パス無しで、WinRAR コマンドを使えるので、
「WinRAR 引数1 引数2」と書ける
ダブルクリックで起動したいのなら、
デスクトップにショートカットでも作れば?
例えば、773 のRuby スクリプトが、
C:/Users/Owner/Documents/Ruby/script.rb にある場合、
ショートカットのリンク先
C:\Windows\System32\cmd.exe /k "ruby C:/Users/Owner/Documents/Ruby/script.rb"
これは、コマンドプロンプト・cmd.exe を起動して、
ruby コマンドで、script.rbを実行する
(注意! 書き込めないので、cmd を英小文字に変換して下さい)
他には、VBScript でも、ダブルクリックで起動できたと思う。
漏れは、bat は知らないから、バッチファイルをダブルクリックで起動できるかどうかは知らない
7-zip のオプションで、一時ファイルの作成場所の指定も、見たような気もする。調べて下さい
ただ、7-zipの7z.exe はコマンド用じゃなく、画面操作用だから、
必ず、解凍先フォルダは空の状態で始めて下さい!
そこにファイルがあると、同じ名前の場合に、上書きしますかとか聞かれて、コマンドが止まる
だから本当は、7-zipのコマンド用実行ファイルを使った方がよいかも
Program Files には半角空白があるので、実行ファイルの絶対パスを、"〜"で囲む
"C:/Program Files/WinRAR/WinRAR.exe" 引数1 引数2
ここで、C:/Program Files/WinRAR を、Windows のユーザー環境変数パスに追加すれば、
絶対パス無しで、WinRAR コマンドを使えるので、
「WinRAR 引数1 引数2」と書ける
ダブルクリックで起動したいのなら、
デスクトップにショートカットでも作れば?
例えば、773 のRuby スクリプトが、
C:/Users/Owner/Documents/Ruby/script.rb にある場合、
ショートカットのリンク先
C:\Windows\System32\cmd.exe /k "ruby C:/Users/Owner/Documents/Ruby/script.rb"
これは、コマンドプロンプト・cmd.exe を起動して、
ruby コマンドで、script.rbを実行する
(注意! 書き込めないので、cmd を英小文字に変換して下さい)
他には、VBScript でも、ダブルクリックで起動できたと思う。
漏れは、bat は知らないから、バッチファイルをダブルクリックで起動できるかどうかは知らない
7-zip のオプションで、一時ファイルの作成場所の指定も、見たような気もする。調べて下さい
ただ、7-zipの7z.exe はコマンド用じゃなく、画面操作用だから、
必ず、解凍先フォルダは空の状態で始めて下さい!
そこにファイルがあると、同じ名前の場合に、上書きしますかとか聞かれて、コマンドが止まる
だから本当は、7-zipのコマンド用実行ファイルを使った方がよいかも
776デフォルトの名無しさん
2022/05/20(金) 20:38:33.57ID:8qofalUL バカの話は必ず長い (宝島社新書) 櫻井 弘
777デフォルトの名無しさん
2022/05/20(金) 20:50:08.11ID:zxJBX/+G と、バカが申しております。
778デフォルトの名無しさん
2022/05/20(金) 23:38:55.76ID:MePC0rUW バカって言う人は自分がバカなんだよ?
幼稚園児でも知ってるのに
幼稚園児でも知ってるのに
779デフォルトの名無しさん
2022/05/21(土) 06:37:24.42ID:55Td3nWK と、幼稚園児が申しております。
780デフォルトの名無しさん
2022/05/21(土) 06:53:52.00ID:/PQRaHnB ブログでやれよって感じ
781デフォルトの名無しさん
2022/05/22(日) 18:17:57.65ID:RDTYjvSl rarを解凍する機会なんてそんなないのにbatが欲しい?しかもbatファイルに関しては無知?妙だな…
782デフォルトの名無しさん
2022/05/23(月) 07:47:47.45ID:Lvn387tn forのin部で wmic を使って文字列取得しようとするとdo以後のコマンド類がバグる
for /f "tokens=2 delims==" %%a in ('wmic process where "name=\"hoge.exe\"" get CommandLine /value 2^>nul^|find "CommandLine"') do set RUNEXE=%%a
と最小限に留めたらecho on でプロンプトが削れて表示は少しおかしいものの一応動作はした
でも「バグってるものがたまたま動いてるだけ」の状態が心情的に嫌なので代替手段があれば教えて欲しい
やりたい事は特定のexeが実行中か否か
D:\app\a\hoge.exe が実行中かどうかを調べたいとして
D:\app\b\hoge.exe のような別ディレクトリにある同名のexeは実行中でもOK
tasklistだとhoge.exeが稼働してるかどうかは調べられるけどどのディレクトリのモノまでかは特定不能のよう
for /f "tokens=2 delims==" %%a in ('wmic process where "name=\"hoge.exe\"" get CommandLine /value 2^>nul^|find "CommandLine"') do set RUNEXE=%%a
と最小限に留めたらecho on でプロンプトが削れて表示は少しおかしいものの一応動作はした
でも「バグってるものがたまたま動いてるだけ」の状態が心情的に嫌なので代替手段があれば教えて欲しい
やりたい事は特定のexeが実行中か否か
D:\app\a\hoge.exe が実行中かどうかを調べたいとして
D:\app\b\hoge.exe のような別ディレクトリにある同名のexeは実行中でもOK
tasklistだとhoge.exeが稼働してるかどうかは調べられるけどどのディレクトリのモノまでかは特定不能のよう
783デフォルトの名無しさん
2022/05/23(月) 07:58:02.47ID:Lvn387tn forで取らずにリダイレクトして一旦TMPファイルに書き出せば良いんだろうけどなんか負けた気がするのでそれは最終手段
784デフォルトの名無しさん
2022/05/23(月) 09:22:19.13ID:vgqZRn8w パイプを犯人扱いしてfor内でifしちゃうのもありかな?
あと細かいけど"set RUNEXE=%%~a"としないとスペースとかで死ぬ
あと細かいけど"set RUNEXE=%%~a"としないとスペースとかで死ぬ
785デフォルトの名無しさん
2022/05/23(月) 09:32:45.04ID:Lvn387tn786デフォルトの名無しさん
2022/05/23(月) 12:58:34.94ID:Lvn387tn 自己解決
> %%~aが利かない
はケツにスペース入ってたから
バグるのは文字コード上の問題のよう
http://scripting.cocolog-nifty.com/blog/2009/09/wmic-6efe.html
パイプだと改行コードがおかしくなるだけらしいけどその後のコマンド類がおかしくなるのは不明
URL先の説明にあるように直接ファイルへリダイレクトしてtypeで読めばバグらないようになった
wmic process where "name='hoge.exe'" get CommandLine 2>nul >$tmp.txt
for /f "delims=" %%a in ('type $tmp.txt^|find ":"') do for %%b in (%%a) do set "s=%%~b"
> %%~aが利かない
はケツにスペース入ってたから
バグるのは文字コード上の問題のよう
http://scripting.cocolog-nifty.com/blog/2009/09/wmic-6efe.html
パイプだと改行コードがおかしくなるだけらしいけどその後のコマンド類がおかしくなるのは不明
URL先の説明にあるように直接ファイルへリダイレクトしてtypeで読めばバグらないようになった
wmic process where "name='hoge.exe'" get CommandLine 2>nul >$tmp.txt
for /f "delims=" %%a in ('type $tmp.txt^|find ":"') do for %%b in (%%a) do set "s=%%~b"
787デフォルトの名無しさん
2022/05/23(月) 14:54:07.32ID:3pQwOKKR set RUNEXE="%%~a"
じゃろが
じゃろが
788デフォルトの名無しさん
2022/05/23(月) 17:31:28.72ID:JTigk3sw コマンドプロンプトはとても残念なので
set RUNEXE="%%~a"
echo RUNEXE: "%RUNEXE%"
とすると(%a=「t e s t」だった場合)RUNEXE: ""t e s t""と表示されるのだよ...
set RUNEXE="%%~a"
echo RUNEXE: "%RUNEXE%"
とすると(%a=「t e s t」だった場合)RUNEXE: ""t e s t""と表示されるのだよ...
789デフォルトの名無しさん
2022/05/23(月) 17:44:09.74ID:3pQwOKKR790デフォルトの名無しさん
2022/05/23(月) 17:52:18.15ID:9Kev8wRG791デフォルトの名無しさん
2022/05/23(月) 20:13:36.87ID:kx8uWZPf 非推奨烙印はcmdを滅ぼそうとしているMS内の一派の仕業だから気にするな
vbsやpowershellのようにcomの使える言語であれば同じことできるから要らんといえば要らんのだがな
vbsやpowershellのようにcomの使える言語であれば同じことできるから要らんといえば要らんのだがな
792デフォルトの名無しさん
2022/05/23(月) 22:36:34.02ID:vE3vs/4c 自分の周りではあまり知られてないようなのだけど、
setは代入文全体を"〜"で括るとうまくいく場合が多い。(確実ではない)
cmd /v:on
set "aaa=(bbb|ccc)<ddd"
echo aaa=[!aaa!]
↓
aaa=[(bbb|ccc)<ddd]
引数でパスを受け取るバッチファイルでよく使う。
「〜」と「"〜"」のどちらの形式で指定されても同じ値を得られる。
@echo off
setlocal EnableDelayedExpansion
set "FilePath=%~1"
echo FilePath=[!FilePath!]
exit /b
setは代入文全体を"〜"で括るとうまくいく場合が多い。(確実ではない)
cmd /v:on
set "aaa=(bbb|ccc)<ddd"
echo aaa=[!aaa!]
↓
aaa=[(bbb|ccc)<ddd]
引数でパスを受け取るバッチファイルでよく使う。
「〜」と「"〜"」のどちらの形式で指定されても同じ値を得られる。
@echo off
setlocal EnableDelayedExpansion
set "FilePath=%~1"
echo FilePath=[!FilePath!]
exit /b
793デフォルトの名無しさん
2022/05/24(火) 15:42:40.62ID:DHD4MJfY 好みだろうけど
常に値はリテラルな""に埋め込まれたものと考えることにした
なんらかの一貫性を貫くのが精神衛生上よい
常に値はリテラルな""に埋め込まれたものと考えることにした
なんらかの一貫性を貫くのが精神衛生上よい
794デフォルトの名無しさん
2022/05/24(火) 16:01:20.85ID:EZq8VYJv 不自由でも一貫性を好む者って多くの事に対応出来ない低脳だと言ってるようなもの
最適を選ばずワンパターンな手法に頼り用いたがる思考停止した老害へと一直線
最適を選ばずワンパターンな手法に頼り用いたがる思考停止した老害へと一直線
795デフォルトの名無しさん
2022/05/24(火) 16:09:51.54ID:DHD4MJfY むしろワンパな%~の剥ぎ取りを信頼してるのが気になったんだが
ダメ文字入っててもサブストリング置換で最後と最初の文字削ったり頭を柔らかく持とう
ダメ文字入っててもサブストリング置換で最後と最初の文字削ったり頭を柔らかく持とう
796デフォルトの名無しさん
2022/05/24(火) 16:12:20.60ID:fGpRFhuy 文字列の置換抜き出しを考えてるなら常に""の中の状態にするのは正解だと思う
797デフォルトの名無しさん
2022/05/24(火) 16:32:08.01ID:wIwv7WB3 バッチには(残念ながら)絶対はないから、すぐに展開せず要時まで自由度を残す習慣は大事だと思う
798デフォルトの名無しさん
2022/05/24(火) 19:24:26.65ID:ZQNStJn7 ダブルクォートをまともに削除できるのが%~しかないのが全部悪い
環境変数にスペースが入っている「かもしれない」状態になるとまともにダブルクォートを外す手段がないんだよね。
set File1=X:\a a.txtとset File2="X:\a a.txt"から同じ状態に持ってこれるコードは簡潔に書く方法がないから諦めた。
sub.bat %File1% %File2% // File1が分裂して死ぬ
sub.bat "%File1%" "%File2%" // File2のダブルクォートが二重になって死ぬ
結局%~1ではがすのが1番まともに書けると思う
環境変数にスペースが入っている「かもしれない」状態になるとまともにダブルクォートを外す手段がないんだよね。
set File1=X:\a a.txtとset File2="X:\a a.txt"から同じ状態に持ってこれるコードは簡潔に書く方法がないから諦めた。
sub.bat %File1% %File2% // File1が分裂して死ぬ
sub.bat "%File1%" "%File2%" // File2のダブルクォートが二重になって死ぬ
結局%~1ではがすのが1番まともに書けると思う
799デフォルトの名無しさん
2022/05/25(水) 03:42:10.08ID:Mc6K3UpU800デフォルトの名無しさん
2022/05/25(水) 09:12:08.26ID:nfFPZ/Hm801デフォルトの名無しさん
2022/05/25(水) 20:31:54.51ID:CvuRtmLM C:\Program Files (x86)
結構昔からあるこのフォルダの配下に置かれたファイルをまともに扱えるバッチはどれだけあるだろうか…
結構昔からあるこのフォルダの配下に置かれたファイルをまともに扱えるバッチはどれだけあるだろうか…
802デフォルトの名無しさん
2022/05/26(木) 00:47:09.31ID:/szrY+JV >>800
いや、だからその結果が違うのを踏まえた上で、何か罠があったりするのか、という話
回避策があるのにわざわざ問題のある2例しか上げてないから、
何かしらの罠があるから例に出さずにいたのかな、と
いや、だからその結果が違うのを踏まえた上で、何か罠があったりするのか、という話
回避策があるのにわざわざ問題のある2例しか上げてないから、
何かしらの罠があるから例に出さずにいたのかな、と
803デフォルトの名無しさん
2022/05/26(木) 13:33:44.93ID:eXnOjPn/ その書き方知らんかっただけでしょ
804デフォルトの名無しさん
2022/05/26(木) 15:42:12.26ID:0e7T6NOT 半角スペースや&の付いたファイルなんか知った事かと言い切れるなら幸せなんだがな
805デフォルトの名無しさん
2022/05/26(木) 15:55:49.96ID:J8y6hNBw >>801
そこだけの問題なら、そのフォルダにシンボリックを張って別の入り口を作り、そこから出入りする
そこだけの問題なら、そのフォルダにシンボリックを張って別の入り口を作り、そこから出入りする
806デフォルトの名無しさん
2022/05/26(木) 15:56:19.27ID:J8y6hNBw シンボリックリンクね
807デフォルトの名無しさん
2022/05/27(金) 15:37:55.51ID:DoIFvz+R >>802
環境変数にダブルクォートが入るかそうじゃないかだけの問題なのでそこだけの違いにした
こっちの書き方の方が好みか?
set "File3=X:\a a.txt"
set "File4="X:\a a.txt""
File4の書き方は受け入れられんだろうからこの書き方はやめた
環境変数にダブルクォートが入るかそうじゃないかだけの問題なのでそこだけの違いにした
こっちの書き方の方が好みか?
set "File3=X:\a a.txt"
set "File4="X:\a a.txt""
File4の書き方は受け入れられんだろうからこの書き方はやめた
808デフォルトの名無しさん
2022/05/27(金) 21:59:22.03ID:cruiCFAs809デフォルトの名無しさん
2022/05/28(土) 00:40:39.75ID:eWdSCVXj810デフォルトの名無しさん
2022/05/28(土) 01:15:25.17ID:N6SgNzpI set File1=X:\a & b.txt
set File2="X:\a & b.txt"
set "File3=X:\a & b.txt"
set "File4="X:\a & b.txt""
File4駄目だったわ。File1もファイル名が切れるが
最初の疑問(>>799 >何かハマるパターンあるの?)なら、
俺がFile3のパターンでハマったことはない
set File2="X:\a & b.txt"
set "File3=X:\a & b.txt"
set "File4="X:\a & b.txt""
File4駄目だったわ。File1もファイル名が切れるが
最初の疑問(>>799 >何かハマるパターンあるの?)なら、
俺がFile3のパターンでハマったことはない
811デフォルトの名無しさん
2022/05/28(土) 01:53:02.54ID:sY9CTUi4812デフォルトの名無しさん
2022/05/28(土) 02:02:37.06ID:4gWpv+XJ BATでは取返しのつかない結果にならない限りエラーで止まる、期待した結果にならなかった
のは別にいいかなって思ってる
のは別にいいかなって思ってる
813デフォルトの名無しさん
2022/05/28(土) 02:59:44.49ID:j34iIhvZ エスケープ周りをしくじれば大抵は取り返しが付かないけどな
バッチでエスケープ処理が発生するようなら他のスクリプトを検討した方がいいね
バッチでエスケープ処理が発生するようなら他のスクリプトを検討した方がいいね
814デフォルトの名無しさん
2022/05/28(土) 04:29:23.28ID:Ee8LXfQh タスクスケジューラじゃregを起動できないから、間にbatファイルを挟み、その中でregを指定させたんよね
無事スケジューラの動作が確認できたものの、今度はPC操作中にcmdの起動が挟まってゲームその他の操作を阻害する
瞬間的なcmdウィンドウのポップアップを防ぐ手段はないものだろうか・・・
フリーソフト等にならタスクバー内で完結するプログラム動作も珍しくない、それを通常のcmd起動にも実現させたい^^;
無事スケジューラの動作が確認できたものの、今度はPC操作中にcmdの起動が挟まってゲームその他の操作を阻害する
瞬間的なcmdウィンドウのポップアップを防ぐ手段はないものだろうか・・・
フリーソフト等にならタスクバー内で完結するプログラム動作も珍しくない、それを通常のcmd起動にも実現させたい^^;
815デフォルトの名無しさん
2022/05/28(土) 05:13:46.22ID:sY9CTUi4816デフォルトの名無しさん
2022/05/28(土) 05:50:05.93ID:Ee8LXfQh >>814
え・・・ショートカットリンクにすると、bat発動時のウィンドウポップアップは消えるんですか?
発動、実行、処理に問題はありません
指定時刻で瞬間表示されたcmdウィンドウの影響で生じる、PCデスクトップ上の強制画面切り替えが問題なんです・・・
え・・・ショートカットリンクにすると、bat発動時のウィンドウポップアップは消えるんですか?
発動、実行、処理に問題はありません
指定時刻で瞬間表示されたcmdウィンドウの影響で生じる、PCデスクトップ上の強制画面切り替えが問題なんです・・・
817デフォルトの名無しさん
2022/05/28(土) 19:57:51.48ID:vVz/heur >>816
「え・・・」とか言う前にリンク先ちゃんと読んだ?
リンク先に「最小ウィンドウ(バックグラウンド)」で実行できる事は書いてある。
ゲームが影響受けないようになるかは知らない。
タスクスケジューラでの実行でウインドウ出したくないなら
簡単なのはSYSTEMアカウントで実行するように変更すること。
HKCU使ってんなら変更が必要。
「え・・・」とか言う前にリンク先ちゃんと読んだ?
リンク先に「最小ウィンドウ(バックグラウンド)」で実行できる事は書いてある。
ゲームが影響受けないようになるかは知らない。
タスクスケジューラでの実行でウインドウ出したくないなら
簡単なのはSYSTEMアカウントで実行するように変更すること。
HKCU使ってんなら変更が必要。
818デフォルトの名無しさん
2022/05/28(土) 20:45:56.96ID:Ee8LXfQh >>817
的確な指摘をありがとうございます!
SYSTEMアカウントは最初の試行錯誤で試したものの、最上位命令でさえスケジューラの表示で[実行中]となるわりにbatの起動が見られず、その経緯を経てAdministratorsへ変更していました
batのショートカットを作成し、プログラム操作項目に.lnkを足し、さらにアカウントをシステムへ揺り戻すと、確かにcmdウィンドウの起ち上がり消失を確認できました
問題はタスクの表示が[実行されました]ではなく[現在タスクを実行中です]なところ
これが実際にbatを起動してくれているのか怪しいです・・・
もう少し経過観察してみます
的確な指摘をありがとうございます!
SYSTEMアカウントは最初の試行錯誤で試したものの、最上位命令でさえスケジューラの表示で[実行中]となるわりにbatの起動が見られず、その経緯を経てAdministratorsへ変更していました
batのショートカットを作成し、プログラム操作項目に.lnkを足し、さらにアカウントをシステムへ揺り戻すと、確かにcmdウィンドウの起ち上がり消失を確認できました
問題はタスクの表示が[実行されました]ではなく[現在タスクを実行中です]なところ
これが実際にbatを起動してくれているのか怪しいです・・・
もう少し経過観察してみます
819デフォルトの名無しさん
2022/05/28(土) 20:49:45.87ID:4gWpv+XJ systemアカウントでの実行だから
逆に現在ログインしてるユーザーの画面に何か表示するようなことは出来ない
batで何か表示しようとしても無理だから起動の確認は後に残るようなファイル出力等で確認
逆に現在ログインしてるユーザーの画面に何か表示するようなことは出来ない
batで何か表示しようとしても無理だから起動の確認は後に残るようなファイル出力等で確認
820デフォルトの名無しさん
2022/05/28(土) 20:51:48.94ID:4gWpv+XJ これはbatに限らないのでメモ帳とか何かのソフトを起動させても画面には現れない
821デフォルトの名無しさん
2022/05/28(土) 21:07:54.58ID:Ee8LXfQh 仕組みの解説ありがとうございます
batの起動によりregファイルを実行することが目的ですので、SYSTEMアカウントのそのような仕様は有難いですね
だから各サイトで迷ったらSYSTEMで!と記されているのでしょうか(私も最初はそれに倣って試していました)
5ch掲示板の多くが「余所でやってください」となるので、ついでで恐縮ですが、こちらにコピー↓↓させてくださいm(vv)m
現状ではSYSTEMアカウントのbat強制発動力に疑問を抱くものの、可能なら私もSYSTEMでタスクを構築させたいです
経過観察後はAdministrators最上位でショートカットを指定起動させた場合のデスクトップ周りを検証するつもりです(bat不発かcmd出現になりそう)
------------------
タスクスケジューラでAdministrators+最上位にすると「正しく終了」+準備完了になります
しかしそれをSYSTEM+最上位にした場合、「現在タスクを実行中です」+実行中と変化します
このSYSTEMアカウント処理の際に設定項目の「新しいインスタンスを並列で実行」はどうなるのでしょうか?
実行中を上書き(もう一度プログラム起動)し続けるのであれば嬉しいのですが、並列という語句で「内部に延々と加算し続けるのか?」と不安に思いました
batの起動によりregファイルを実行することが目的ですので、SYSTEMアカウントのそのような仕様は有難いですね
だから各サイトで迷ったらSYSTEMで!と記されているのでしょうか(私も最初はそれに倣って試していました)
5ch掲示板の多くが「余所でやってください」となるので、ついでで恐縮ですが、こちらにコピー↓↓させてくださいm(vv)m
現状ではSYSTEMアカウントのbat強制発動力に疑問を抱くものの、可能なら私もSYSTEMでタスクを構築させたいです
経過観察後はAdministrators最上位でショートカットを指定起動させた場合のデスクトップ周りを検証するつもりです(bat不発かcmd出現になりそう)
------------------
タスクスケジューラでAdministrators+最上位にすると「正しく終了」+準備完了になります
しかしそれをSYSTEM+最上位にした場合、「現在タスクを実行中です」+実行中と変化します
このSYSTEMアカウント処理の際に設定項目の「新しいインスタンスを並列で実行」はどうなるのでしょうか?
実行中を上書き(もう一度プログラム起動)し続けるのであれば嬉しいのですが、並列という語句で「内部に延々と加算し続けるのか?」と不安に思いました
822デフォルトの名無しさん
2022/05/28(土) 21:31:44.96ID:4gWpv+XJ >>821
SYSTEMで実行しても実行完了してたら状態は「準備完了」に変わるよ
実行中ならまだそのbatは起動したままで終了してない
もし終了してないのが予期してない動作なら何か途中で止まってるので
複数起動を許可したのならbatのインスタンスが増殖することになる
SYSTEMで実行しても実行完了してたら状態は「準備完了」に変わるよ
実行中ならまだそのbatは起動したままで終了してない
もし終了してないのが予期してない動作なら何か途中で止まってるので
複数起動を許可したのならbatのインスタンスが増殖することになる
823デフォルトの名無しさん
2022/05/28(土) 21:38:44.30ID:4gWpv+XJ 想像するに
batが何かの応答を要求しててユーザーのアクション待ちなんじゃないかな
当然キー入力なんかはSYSTEMからは無理なので
タスクマネージャーから強制終了されることぐらいしかできない
上で言ってるようにカレントユーザーじゃないのでHKCUなんて存在しないんだがその点は大丈夫か
batが何かの応答を要求しててユーザーのアクション待ちなんじゃないかな
当然キー入力なんかはSYSTEMからは無理なので
タスクマネージャーから強制終了されることぐらいしかできない
上で言ってるようにカレントユーザーじゃないのでHKCUなんて存在しないんだがその点は大丈夫か
824デフォルトの名無しさん
2022/05/28(土) 21:47:41.17ID:j34iIhvZ SYSTEMタスクからHKCUをってことは、まず現在ログイン中のユーザーを特定してそいつのユーザープロファイルのNTUSER.DATを弄ることになるわけだよ
このスレの範疇だと無理っぽいけどがんばってね
このスレの範疇だと無理っぽいけどがんばってね
825デフォルトの名無しさん
2022/05/28(土) 21:55:22.65ID:4gWpv+XJ 実行したいユーザーは今の自分なんだからそこは固定にしとけばbatにできるだろ
他ユーザーのレジストリ操作はググれば出てくるよ
他ユーザーのレジストリ操作はググれば出てくるよ
826デフォルトの名無しさん
2022/05/28(土) 21:57:50.03ID:4gWpv+XJ まあ色々言ったけど
画面表示をさけるだけなら、俺ならWSHかPowerShellを使うな
画面表示をさけるだけなら、俺ならWSHかPowerShellを使うな
827デフォルトの名無しさん
2022/05/28(土) 22:01:28.84ID:o4a1B59x regファイルを実行ってレジストリ登録?それならbat使わなくても
最上位の特権で実行する
プログラム: C:\Windows\regedit.exe
引数: /s regファイルフルパス名
でよくない?
最上位の特権で実行する
プログラム: C:\Windows\regedit.exe
引数: /s regファイルフルパス名
でよくない?
828デフォルトの名無しさん
2022/05/28(土) 23:50:47.54ID:Ee8LXfQh 皆さんありがとうございます
やはり表示が「正常に」→準備完了ではない以上、タスクは途中状態でしたか・・・この分では肝心のbatも実行されそうにありませんね
最初のSYSTEMによるタスクの場合、管理者権限での実行に不備があるようで、それでタスクは発動するもののbat動かずという結果になると判断していました
それでAdministratorsへ変更し、命令そのものが管理者によるものへ置き換え、これまでの経緯に至っています
>>827
く、詳しくお願いします・・・自分でも相当な時間をネット検索に費やしましたが実現できませんでした
特に1文字でも損なうと完成されない、引数関連が上手くいかなくて
昔ながらのbatなら自分にもギリ可能でしたので今に至ります
regなら管理者権限も関係なく値を変更してくれるので、それさえ可能なら一番楽なんですよね
やはり表示が「正常に」→準備完了ではない以上、タスクは途中状態でしたか・・・この分では肝心のbatも実行されそうにありませんね
最初のSYSTEMによるタスクの場合、管理者権限での実行に不備があるようで、それでタスクは発動するもののbat動かずという結果になると判断していました
それでAdministratorsへ変更し、命令そのものが管理者によるものへ置き換え、これまでの経緯に至っています
>>827
く、詳しくお願いします・・・自分でも相当な時間をネット検索に費やしましたが実現できませんでした
特に1文字でも損なうと完成されない、引数関連が上手くいかなくて
昔ながらのbatなら自分にもギリ可能でしたので今に至ります
regなら管理者権限も関係なく値を変更してくれるので、それさえ可能なら一番楽なんですよね
829デフォルトの名無しさん
2022/05/28(土) 23:51:00.59ID:Ee8LXfQh ことの発端は配信の最適化であるDelivery Optimizationのサービス無効化です
そのサービスの0004化が、batの場合管理者権限必須らしく、batを通常起動しただけではスルーされてしまう
reg単体で行えず(自分は)、管理者権限必須で、それらを自動タスク化した場合が大変でした
該当サービスは100%テレメトリながら、散々な細かい検証をしたもののWU関連を全て止めなければ勝手に手動(トリガー)状態へ強制されます
そしてサービスが手動状態にあるとき、ディスクのクリーンアップ他を少しでも伴うとそこで実行されてしまう
ならばどうせカタログで更新しているし?とWU関連全て無効化したのですが、そうすると今度はエクスプローラーが常時CPU使用率5-10%くらいになり微ラグ
appxのwsappxがC:\ProgramData\Microsoft\Windows\AppRepositoryで無限増殖する現象と似ていますね、こちらも8-10%とゾンビし、WU全無効化のエクスプローラーより酷いラグを発生させる
OSと密接に絡んでいるのは痛感していますが、WUを生かしつつ、元から無効化しているストアに加えて電卓等も捨ててappxサービスを完全無効化(こちらは手動ゾンビなし)
あとは如何にしてエクスプローラーのバグを招かずにDelivery Optimizationの恒久的な完全無効化を成せるか、なんです・・・
そのサービスの0004化が、batの場合管理者権限必須らしく、batを通常起動しただけではスルーされてしまう
reg単体で行えず(自分は)、管理者権限必須で、それらを自動タスク化した場合が大変でした
該当サービスは100%テレメトリながら、散々な細かい検証をしたもののWU関連を全て止めなければ勝手に手動(トリガー)状態へ強制されます
そしてサービスが手動状態にあるとき、ディスクのクリーンアップ他を少しでも伴うとそこで実行されてしまう
ならばどうせカタログで更新しているし?とWU関連全て無効化したのですが、そうすると今度はエクスプローラーが常時CPU使用率5-10%くらいになり微ラグ
appxのwsappxがC:\ProgramData\Microsoft\Windows\AppRepositoryで無限増殖する現象と似ていますね、こちらも8-10%とゾンビし、WU全無効化のエクスプローラーより酷いラグを発生させる
OSと密接に絡んでいるのは痛感していますが、WUを生かしつつ、元から無効化しているストアに加えて電卓等も捨ててappxサービスを完全無効化(こちらは手動ゾンビなし)
あとは如何にしてエクスプローラーのバグを招かずにDelivery Optimizationの恒久的な完全無効化を成せるか、なんです・・・
830デフォルトの名無しさん
2022/05/29(日) 00:21:06.26ID:XW+WDPtU >>811
File4は環境変数の末尾にスペースが入らない&&環境変数をダブルクォートでくくる目的
setに与えるコマンドラインとしては正当だが、&とかエスケープが必要な文字が入ると構文解析で事故るのでFile1と同じくやらんほうがいい書き方だったわ
File4は環境変数の末尾にスペースが入らない&&環境変数をダブルクォートでくくる目的
setに与えるコマンドラインとしては正当だが、&とかエスケープが必要な文字が入ると構文解析で事故るのでFile1と同じくやらんほうがいい書き方だったわ
831デフォルトの名無しさん
2022/05/29(日) 00:28:55.06ID:NHtpNvxH >>829
そもそもなんだけど、レジストリを書き替えただけでうまくいくのは確かめてるの?
通常レジストリの書き換えを反映するには、HKCUの場合ログオンが、HKLMの場合再起動が必要なはずだけど
あとユーザーにadmin資格を追加するのは出来ないの
資格があれば最上位の特権にチェックでいけると思うけど
そもそもなんだけど、レジストリを書き替えただけでうまくいくのは確かめてるの?
通常レジストリの書き換えを反映するには、HKCUの場合ログオンが、HKLMの場合再起動が必要なはずだけど
あとユーザーにadmin資格を追加するのは出来ないの
資格があれば最上位の特権にチェックでいけると思うけど
832デフォルトの名無しさん
2022/05/29(日) 00:44:54.89ID:Dh5s7alL >>831
長年自分好みのregを作成し続け、発動そのものはパンピーチンパン頭なわりに経験則の積み重ねで上手くいっています
再起動の観点は盲点でした、その辺りも毎回あやふやでしたので再確認しないとですね
regのみでサービスが[無効]へ書き換えられるのを何度か目にしている気もしますが
reg
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc]
"Start"=dword:00000004
bat
sc stop DoSvc
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc" /v "Start" /t REG_DWORD /d "4" /f
SYSTEM最上位+C:\Windows\regedit.exe /s D:\aaa\bbb\ccc.regで新規タスクを設けたところ、正しく終了し、感触が良さげ
cmdのようなポップアップもありません、この環境で経過観察したいと思います
ただ、今気づきましたが、regは実行中のサービスを止める内容が抜けているので、その線も追加で調べ直します
reg書き込みで駄目ならsc stop特化のSYSTEM最上位batタスクを別途用意する必要がありそうですね
偶然にも、今までの調整が無駄になっていない様子で嬉しいです
長年自分好みのregを作成し続け、発動そのものはパンピーチンパン頭なわりに経験則の積み重ねで上手くいっています
再起動の観点は盲点でした、その辺りも毎回あやふやでしたので再確認しないとですね
regのみでサービスが[無効]へ書き換えられるのを何度か目にしている気もしますが
reg
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc]
"Start"=dword:00000004
bat
sc stop DoSvc
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc" /v "Start" /t REG_DWORD /d "4" /f
SYSTEM最上位+C:\Windows\regedit.exe /s D:\aaa\bbb\ccc.regで新規タスクを設けたところ、正しく終了し、感触が良さげ
cmdのようなポップアップもありません、この環境で経過観察したいと思います
ただ、今気づきましたが、regは実行中のサービスを止める内容が抜けているので、その線も追加で調べ直します
reg書き込みで駄目ならsc stop特化のSYSTEM最上位batタスクを別途用意する必要がありそうですね
偶然にも、今までの調整が無駄になっていない様子で嬉しいです
833デフォルトの名無しさん
2022/05/29(日) 01:40:32.51ID:MBI5r2Hn 対象がHKLMならSYSTEMタスクで普通にバッチ呼び出せばいいんじゃないの
っていうかレジストリいじらんでも「sc config DoSvc start= disabled」でいいんじゃないか
っていうかレジストリいじらんでも「sc config DoSvc start= disabled」でいいんじゃないか
834デフォルトの名無しさん
2022/05/29(日) 03:14:11.71ID:YV7/1RzI 文章に顕れている
835デフォルトの名無しさん
2022/05/29(日) 07:42:31.92ID:Dh5s7alL 幾つかあるOS連動のサービスは、それぞれで通常と異なる処置が求められるんですよ・・・
Delivery Optimizationもそのひとつ
今のwin10版はギリ対応可能ながらも、win11の現行はバイパスが削除されたり、これまたさらに面倒な様子で将来が不安
最初に書きましたが、SYSTEM最上位の単純な指定ではタスク上で「正常に」となってもサービス側が受け付けなかったんです
ネット情報だとSYSTEMアカウントに管理者権限が内包されているそうなんですけどね・・・
そこで試行錯誤の上、Administratorsで茶を濁していた→またSYSTEMタスクでやったらいいんじゃね?というのは堂々巡りになってしまいますわー
貴重な意見有難うございました
Delivery Optimizationもそのひとつ
今のwin10版はギリ対応可能ながらも、win11の現行はバイパスが削除されたり、これまたさらに面倒な様子で将来が不安
最初に書きましたが、SYSTEM最上位の単純な指定ではタスク上で「正常に」となってもサービス側が受け付けなかったんです
ネット情報だとSYSTEMアカウントに管理者権限が内包されているそうなんですけどね・・・
そこで試行錯誤の上、Administratorsで茶を濁していた→またSYSTEMタスクでやったらいいんじゃね?というのは堂々巡りになってしまいますわー
貴重な意見有難うございました
836773
2022/06/01(水) 01:09:04.33ID:ixkk/oFB >>775
の続き
7-zip の一時・作業フォルダの指定
Command Line Switches
https://sevenzip.osdn.jp/chm/cmdline/switches/index.htm
-w Set Working directory
例には、-wc:\temp と書いてあるので、-wZ:/rartmp と書けばよい。
注意点として、-wz:/ の、-wとz:/の間に、空白を入れない事
-wだけを指定して、パスを指定しなかった場合、Windows の一時ディレクトリを使用する。
-wを指定しない場合、解凍元のフォルダを使うみたい
の続き
7-zip の一時・作業フォルダの指定
Command Line Switches
https://sevenzip.osdn.jp/chm/cmdline/switches/index.htm
-w Set Working directory
例には、-wc:\temp と書いてあるので、-wZ:/rartmp と書けばよい。
注意点として、-wz:/ の、-wとz:/の間に、空白を入れない事
-wだけを指定して、パスを指定しなかった場合、Windows の一時ディレクトリを使用する。
-wを指定しない場合、解凍元のフォルダを使うみたい
837デフォルトの名無しさん
2022/06/01(水) 06:20:00.46ID:L0Bj7AY3 ウヒ、プヒヒ・・・
reg手段は結局タスク発動のみが空振りするだけで、肝心のプログラムをサービス変更まで繋げることが出来ませんでしたわorz
引数云々の方法や自分が採った記述の成否・不備は定かではありませんが、まあ、涙目
引数の書き方など、ネット上にさえ適切な情報がなくこれは厳しいですな
カリキュラムや資格を取る過程などで自然と学ぶような内容なんですかね・・・そもそもタスクスケジューラへの強い関心が一般的な日本人の中に存在しないらしいです→グーグルロボット検索が拾えるサイトも無い
その涙目でまた振り出しに戻り、システム最上位のbat単純起動からやり直すと、なんと達成(・д・)
システムアカウントに含まれるバックグラウンド動作、最上位に含まれる優先度、そして内包されているらしい管理者権限
regについてもデスクトップから普通にクリックすると再起動無しで値を4へ変更可能でしたので、やはりスケジューラ登録の過程またはサービス仕様に問題があったようですね
何をもって今回、システム最上位が上手く機能したか不思議でなりませんが、そしてこれが今後もしっかり継続的に発動・反映してくれるか分かりませんが、
当面はAdministratorsで生じていた「cmdポップアップによるデスクトップ阻害」を得ることなくタスクが実行でき、サービスの値もきっちり変わり、嬉しく思います
ポップアップさえ無ければ1/1hでスケジューリングし、より高頻度にサービスを強制無効化可能ですので、快適
関連する中で色々と指導して下さった皆さん有難うございましたm(vv)m
reg手段は結局タスク発動のみが空振りするだけで、肝心のプログラムをサービス変更まで繋げることが出来ませんでしたわorz
引数云々の方法や自分が採った記述の成否・不備は定かではありませんが、まあ、涙目
引数の書き方など、ネット上にさえ適切な情報がなくこれは厳しいですな
カリキュラムや資格を取る過程などで自然と学ぶような内容なんですかね・・・そもそもタスクスケジューラへの強い関心が一般的な日本人の中に存在しないらしいです→グーグルロボット検索が拾えるサイトも無い
その涙目でまた振り出しに戻り、システム最上位のbat単純起動からやり直すと、なんと達成(・д・)
システムアカウントに含まれるバックグラウンド動作、最上位に含まれる優先度、そして内包されているらしい管理者権限
regについてもデスクトップから普通にクリックすると再起動無しで値を4へ変更可能でしたので、やはりスケジューラ登録の過程またはサービス仕様に問題があったようですね
何をもって今回、システム最上位が上手く機能したか不思議でなりませんが、そしてこれが今後もしっかり継続的に発動・反映してくれるか分かりませんが、
当面はAdministratorsで生じていた「cmdポップアップによるデスクトップ阻害」を得ることなくタスクが実行でき、サービスの値もきっちり変わり、嬉しく思います
ポップアップさえ無ければ1/1hでスケジューリングし、より高頻度にサービスを強制無効化可能ですので、快適
関連する中で色々と指導して下さった皆さん有難うございましたm(vv)m
838デフォルトの名無しさん
2022/06/01(水) 06:50:47.32ID:2JSbHFne レジストリ書き込み禁止にすりゃイイんじゃねーの?
知らんけど
知らんけど
839デフォルトの名無しさん
2022/06/01(水) 09:39:14.46ID:HV/k13ls 質問
PIDが正しいとして taskkill /f /pid "%PID%" が失敗するケースって何かありますか?
現在以下のように書いてるのですが無駄だったらバカ臭いなと
taskkill /f /pid "%PID%" || (
echo エラーメッセージ
echo エラーメッセージ
echo エラーメッセージ
echo hoge.exe を終了汁!
pause
exit /b 1
)
PIDが正しいとして taskkill /f /pid "%PID%" が失敗するケースって何かありますか?
現在以下のように書いてるのですが無駄だったらバカ臭いなと
taskkill /f /pid "%PID%" || (
echo エラーメッセージ
echo エラーメッセージ
echo エラーメッセージ
echo hoge.exe を終了汁!
pause
exit /b 1
)
840デフォルトの名無しさん
2022/06/01(水) 10:15:17.37ID:iPR+cHIm https://docs.microsoft.com/ja-jp/windows/win32/api/processthreadsapi/nf-processthreadsapi-terminateprocess
悲しいことに公式のドキュメントには何も書いてない
指定したPIDのプロセスが存在しない
(PIDを取得した後に正常終了したとかで起こりうる)
プロセスを殺す権限がない
ぐらいのはず
悲しいことに公式のドキュメントには何も書いてない
指定したPIDのプロセスが存在しない
(PIDを取得した後に正常終了したとかで起こりうる)
プロセスを殺す権限がない
ぐらいのはず
841デフォルトの名無しさん
2022/06/01(水) 11:32:04.25ID:HV/k13ls842デフォルトの名無しさん
2022/06/01(水) 21:11:06.31ID:wWdJLXtL プロセスは非同期だからエラーよりはkillした後の存在の有無を判定した方がいい
843デフォルトの名無しさん
2022/06/02(木) 15:41:59.23ID:Bch8jX4P844デフォルトの名無しさん
2022/06/03(金) 03:02:05.90ID:LtGyf47s ちっきしょーうのAAを貼りたい気分
結局、Delivery Optimizationサービスの0004化はSYSTEM最上位アカウントだとすかしっぺになる
案の定ふりだしやんけwww
なら操作の引数で管理者権限を付与出来ないかと模索するも、ネット情報じゃ無さげ
cmd他、どれもコンテキストメニューなど、OSのUIから指定起動させる例ばかりでコマンド的なものがない
在るとしてもネット上で指南されるような内容ではないらしい
タスク上は「正しく終了しました」が初回のみ出て、それ以降は常に[次回の実行時刻]を更新するのみ=つまり発動さえしていない
該当するプログラム=batを自分でデスクトップから起動→cmd発動でもサービスが変わらず
同条件で右クリ→管理者権限で実行すると余裕の発動・・・
だからそれをタスクのバックグラウンドでやりたいんだよおおおおおおおおおおorz
SYSTEMアカウントはバックグラウンドで動作してくれるけど管理者権限をすかしっぺ、Administratorsアカウントは余裕で発動するけどバックグラウンドじゃない
どうしろっつーねん!SYSTEMアカウントが管理者内包ってのは都市伝説なのかああああ
天才様助けてー!
結局、Delivery Optimizationサービスの0004化はSYSTEM最上位アカウントだとすかしっぺになる
案の定ふりだしやんけwww
なら操作の引数で管理者権限を付与出来ないかと模索するも、ネット情報じゃ無さげ
cmd他、どれもコンテキストメニューなど、OSのUIから指定起動させる例ばかりでコマンド的なものがない
在るとしてもネット上で指南されるような内容ではないらしい
タスク上は「正しく終了しました」が初回のみ出て、それ以降は常に[次回の実行時刻]を更新するのみ=つまり発動さえしていない
該当するプログラム=batを自分でデスクトップから起動→cmd発動でもサービスが変わらず
同条件で右クリ→管理者権限で実行すると余裕の発動・・・
だからそれをタスクのバックグラウンドでやりたいんだよおおおおおおおおおおorz
SYSTEMアカウントはバックグラウンドで動作してくれるけど管理者権限をすかしっぺ、Administratorsアカウントは余裕で発動するけどバックグラウンドじゃない
どうしろっつーねん!SYSTEMアカウントが管理者内包ってのは都市伝説なのかああああ
天才様助けてー!
845デフォルトの名無しさん
2022/06/03(金) 03:30:52.82ID:X5NsBG94 日記は日記帳へどうぞ
余計な修飾子や個人的感想が多く、読ませる気の無い文章
「わざわざ読んで頂き申し訳ございません」という謙虚さが皆無
長々とおまえの頭悪そうな臭い愚痴駄文を読んでやるほど暇じゃない
質問や説明は具体的、且つ、必要最小限、シンプルに
何なら箇条書きでも良いくらい
言葉は齟齬が生じないよう正確に
「発動」って何やねん
DQN特有の独自定義
まず正しい日本語と用語を学び直せ
余計な修飾子や個人的感想が多く、読ませる気の無い文章
「わざわざ読んで頂き申し訳ございません」という謙虚さが皆無
長々とおまえの頭悪そうな臭い愚痴駄文を読んでやるほど暇じゃない
質問や説明は具体的、且つ、必要最小限、シンプルに
何なら箇条書きでも良いくらい
言葉は齟齬が生じないよう正確に
「発動」って何やねん
DQN特有の独自定義
まず正しい日本語と用語を学び直せ
846デフォルトの名無しさん
2022/06/03(金) 03:34:09.46ID:X5NsBG94 > ネット情報じゃ無さげ
無かったら英語でググれ
いくらでも出て来る
無かったら英語でググれ
いくらでも出て来る
847デフォルトの名無しさん
2022/06/03(金) 03:52:08.48ID:oul3t3W9 他ユーザーのレジストリも弄れるってあっただろ
848デフォルトの名無しさん
2022/06/03(金) 05:56:36.90ID:LtGyf47s >>846
いつも英字でも検索しているんですけど、OS関連は意外に多く抽出されるものの、何故かタスクスケジューラに関してのみ微妙なんですよね・・・
検索ワードがシビアなのか、昨今不評なグーグル検索ロボットの偏向かもしれません
とはいえ2019年10月からガチテレメトリとなったyahooを利用する気にもなれませんし・・・
それだけ世間的な意味でタスクに関心がないのだと思いますorz
百歩譲って、system最上位アカウントに管理者権限を強制付与出来ればいいんですが
引数もタスクのようなbatに対したコマンドではなく(そもそもタスクの引数に関する指南が超少ない)、batの中で特定のプログラムを管理者権限で実行する方法ばかり見つかって意味無し
自分がデスクトップ上の右クリでbatを直接管理者権限実行させ、サービスの値が0004の状態はsystem最上位アカウントでも定刻の1時間刻みで「正常に終了」となる
0004を0004に上書きするbat(笑)は管理者権限の壁が無いようだw
この場合は次回の予定のみが更新されることもなく、しっかりと前回の実行結果を残す(1時間刻みで)
それが!WUか何かのOS強制により手動(トリガー)と改変されたとき、system最上位アカウントではフリーズしてしまう様子なんですよねorz
何なんだよ[配信の最適化]ゾンビ・・・ほんまキモいわ・・・
いつも英字でも検索しているんですけど、OS関連は意外に多く抽出されるものの、何故かタスクスケジューラに関してのみ微妙なんですよね・・・
検索ワードがシビアなのか、昨今不評なグーグル検索ロボットの偏向かもしれません
とはいえ2019年10月からガチテレメトリとなったyahooを利用する気にもなれませんし・・・
それだけ世間的な意味でタスクに関心がないのだと思いますorz
百歩譲って、system最上位アカウントに管理者権限を強制付与出来ればいいんですが
引数もタスクのようなbatに対したコマンドではなく(そもそもタスクの引数に関する指南が超少ない)、batの中で特定のプログラムを管理者権限で実行する方法ばかり見つかって意味無し
自分がデスクトップ上の右クリでbatを直接管理者権限実行させ、サービスの値が0004の状態はsystem最上位アカウントでも定刻の1時間刻みで「正常に終了」となる
0004を0004に上書きするbat(笑)は管理者権限の壁が無いようだw
この場合は次回の予定のみが更新されることもなく、しっかりと前回の実行結果を残す(1時間刻みで)
それが!WUか何かのOS強制により手動(トリガー)と改変されたとき、system最上位アカウントではフリーズしてしまう様子なんですよねorz
何なんだよ[配信の最適化]ゾンビ・・・ほんまキモいわ・・・
849デフォルトの名無しさん
2022/06/03(金) 06:25:04.10ID:25hReR0t 文章力皆無なのに自分ではちゃんと書けてるつもりなんだろうなぁ・・・ほんまキモいわ・・・
850デフォルトの名無しさん
2022/06/03(金) 06:33:18.50ID:oU3L37au 相手すんなよ...
851デフォルトの名無しさん
2022/06/03(金) 08:41:36.30ID:r3SSykMX お前の書いていることが省略しすぎたり独自用語か混ざってたりで読むのに疲れる
書いてることからやりたいことの確認をしなきゃいけないし
> Delivery Optimizationサービスの0004化
特定のサービスの挙動を変えたいor止めたいらしいのがググってようやくわかった
0004が何を示してるか未だにわからん
> なら操作の引数で管理者権限を付与出来ないかと模索するも、ネット情報じゃ無さげ
> cmd他、どれもコンテキストメニューなど、OSのUIから指定起動させる例ばかりでコマンド的なものがない
ここでのお前がやりたいことは管理者特権を付与してコマンドラインを実行したい」でいいんだよな?
> タスク上は「正しく終了しました」が初回のみ出て、それ以降は常に[次回の実行時刻]を更新するのみ=つまり発動さえしていない
イベントビューアーで確認したんか?サービスの動作ログだよな?
書いてることからやりたいことの確認をしなきゃいけないし
> Delivery Optimizationサービスの0004化
特定のサービスの挙動を変えたいor止めたいらしいのがググってようやくわかった
0004が何を示してるか未だにわからん
> なら操作の引数で管理者権限を付与出来ないかと模索するも、ネット情報じゃ無さげ
> cmd他、どれもコンテキストメニューなど、OSのUIから指定起動させる例ばかりでコマンド的なものがない
ここでのお前がやりたいことは管理者特権を付与してコマンドラインを実行したい」でいいんだよな?
> タスク上は「正しく終了しました」が初回のみ出て、それ以降は常に[次回の実行時刻]を更新するのみ=つまり発動さえしていない
イベントビューアーで確認したんか?サービスの動作ログだよな?
852デフォルトの名無しさん
2022/06/03(金) 08:52:40.64ID:rHBirywu cmdに管理者特権とかいう概念はないのでpowershellを経由するしかない。runasでググれ。
プロセスが管理者特権で動いているかはタスクマネージャーから確認できる(表示列を追加する必要があるが)
サービス関連は触ったことないから知らんが、cmdでいくら探してもないならpowershellから動かすしかないんじゃない?
プロセスが管理者特権で動いているかはタスクマネージャーから確認できる(表示列を追加する必要があるが)
サービス関連は触ったことないから知らんが、cmdでいくら探してもないならpowershellから動かすしかないんじゃない?
853デフォルトの名無しさん
2022/06/03(金) 10:14:29.24ID:84QuKkvW そもそもの方法論がもうね
そこまでバカでそこまで必死なんだったらローカルグループポリシー使えよっていう
HomeならPro化すればいいだけなんだから
そこまでバカでそこまで必死なんだったらローカルグループポリシー使えよっていう
HomeならPro化すればいいだけなんだから
854デフォルトの名無しさん
2022/06/03(金) 10:34:45.22ID:CIdSIcJr 動詞を指定して実行する事は他の言語でもできるけど、
powershell程には簡潔に書けないからね
powershell程には簡潔に書けないからね
855デフォルトの名無しさん
2022/06/03(金) 10:42:06.97ID:CIdSIcJr ちな0004はREG_DWORDの値4で場所的にそのサービスの無効を意味してる
こういうの知らないなら何のこっちゃだろうな
こういうの知らないなら何のこっちゃだろうな
856デフォルトの名無しさん
2022/06/03(金) 10:52:22.42ID:CIdSIcJr 一見高度な事の様で大した中身でもなく、文体が気持ち悪いから知ってる人がいてもスルーされる。
案の定相手にしてるのはルビキチだけ
案の定相手にしてるのはルビキチだけ
857デフォルトの名無しさん
2022/06/03(金) 14:11:38.16ID:LtGyf47s くっそワロた・・・
0004さえも理解に乏しい、知識量や発想力の人達へ向けて私は質問していたのだろうか^^;
runasなどもとっくに調べているし、グルポは超初期に実行済みで、Delivery Optimizationは突破してくるから今日に至っている話なわけで
こういうのも過去に書いているんですけど、虫食いで読んで適当に回答している方や、そもそもの知識量・発想・知能的な面で素人の私より劣っていそうな人が
いえ、これ以上は暴言になりそうですし省略しますわ
・・・バッチ専用スレとのことで、私も皆さんへ過大評価や虚像を抱いていたのかもしれません
powershell、完全に時代錯誤な私の知識・技量では厳しかったものの、これを機に学んでみましょうかね
batの代わりにps1か・・・自分に使いこなせるか不安ですorz
皆さん数々の意見を有難うございました
0004さえも理解に乏しい、知識量や発想力の人達へ向けて私は質問していたのだろうか^^;
runasなどもとっくに調べているし、グルポは超初期に実行済みで、Delivery Optimizationは突破してくるから今日に至っている話なわけで
こういうのも過去に書いているんですけど、虫食いで読んで適当に回答している方や、そもそもの知識量・発想・知能的な面で素人の私より劣っていそうな人が
いえ、これ以上は暴言になりそうですし省略しますわ
・・・バッチ専用スレとのことで、私も皆さんへ過大評価や虚像を抱いていたのかもしれません
powershell、完全に時代錯誤な私の知識・技量では厳しかったものの、これを機に学んでみましょうかね
batの代わりにps1か・・・自分に使いこなせるか不安ですorz
皆さん数々の意見を有難うございました
858デフォルトの名無しさん
2022/06/03(金) 14:54:57.72ID:oCwyAce/ ごめんあんまり読んでないんだけど、対話が求められて自動化できない?のならdoskeyのマクロは試した?
GUIでのダイアログだったら無理だけど
GUIでのダイアログだったら無理だけど
859デフォルトの名無しさん
2022/06/03(金) 16:20:46.55ID:gMGR7N6s そもそも対象のサービスが無効にできない (ようにみえる) 類のものなのではないか?
860デフォルトの名無しさん
2022/06/04(土) 00:01:31.51ID:qz14Jeu3 AWS の本にも、Windows サーバーの記述は、1% ぐらいしかない。
システムで、Windowsを使う香具師がいない
ファイル共有・Active Directory・タスクスケジューラ・Remote Desktop、
バッチ・コマンドプロンプト・PowerShell ぐらいが、簡単に紹介されているだけ
ほとんどがDocker を使う。DockerはLinuxの技術。
だから、Windows 10のWSL2 で、Linuxを使えるようにしている
システムで、Windowsを使う香具師がいない
ファイル共有・Active Directory・タスクスケジューラ・Remote Desktop、
バッチ・コマンドプロンプト・PowerShell ぐらいが、簡単に紹介されているだけ
ほとんどがDocker を使う。DockerはLinuxの技術。
だから、Windows 10のWSL2 で、Linuxを使えるようにしている
861デフォルトの名無しさん
2022/06/04(土) 03:03:41.49ID:nWFOJiT2 ソフト板のVLCスレで暴れてたガイジに似てるな
862デフォルトの名無しさん
2022/06/04(土) 03:16:47.38ID:4DyQyO7v SYSTEMアカウントで書き替えたら再起動が必要なんじゃないの?
863デフォルトの名無しさん
2022/06/04(土) 14:29:54.55ID:bgz5gZEc サービスの無効化なんか sc config でできるだろ
なんでわざわざレジストリを直接編集しなきゃいけないんだ?しかもSYSTEMで
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/sc-config
そもそもDelivery Optimizationを無効化したい理由は何なんだ
なんでわざわざレジストリを直接編集しなきゃいけないんだ?しかもSYSTEMで
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/sc-config
そもそもDelivery Optimizationを無効化したい理由は何なんだ
864デフォルトの名無しさん
2022/06/04(土) 15:01:48.75ID:M0jEQKIa ID:LtGyf47s みたいに要点を簡潔にまとめられず矢鱈とグダグダ書いちゃう人って何かそういう頭の障害でもあるの?
言葉遣いも変だし外国人なのかな
言葉遣いも変だし外国人なのかな
865デフォルトの名無しさん
2022/06/05(日) 07:44:59.76ID:7J0TRviH 簡単なことを難しく言うやつを世間一般ではhorse and deerという
866デフォルトの名無しさん
2022/06/05(日) 12:38:26.56ID:Z2t62Jo8 わざとか?
867デフォルトの名無しさん
2022/07/09(土) 18:11:33.95ID:qkG/5q2Z 以下のようにUNIXライクにFILESをパイプしてfindstrコマンドに渡すことは不可能でしょうか?
@echo off
setlocal enabledelayedexpansion
set LF=^
for /f "tokens=* delims=" %%x in ('dir /w') do set FILES=!FILES!%%x!LF!
@rem ↓FILESをパイプにしてfindstrコマンドの入力にしたい
for /f "tokens=* delims=" %%x in ('echo !FILES! ^| findstr "Siki"') do set TEST=%%x
pause
endlocal
exit /B 0
@echo off
setlocal enabledelayedexpansion
set LF=^
for /f "tokens=* delims=" %%x in ('dir /w') do set FILES=!FILES!%%x!LF!
@rem ↓FILESをパイプにしてfindstrコマンドの入力にしたい
for /f "tokens=* delims=" %%x in ('echo !FILES! ^| findstr "Siki"') do set TEST=%%x
pause
endlocal
exit /B 0
868デフォルトの名無しさん
2022/07/09(土) 18:16:36.89ID:GjOGWrlu 不可能です
869デフォルトの名無しさん
2022/07/09(土) 18:31:41.95ID:qkG/5q2Z 不可能とのことなのでファイルに一旦出力することにしました
@echo off
setlocal enabledelayedexpansion
set LF=^
for /f "tokens=* delims=" %%x in ('dir') do set FILES=!FILES!%%x!LF!
echo !FILES! > aaa.txt
for /f "tokens=* delims=" %%x in ('type aaa.txt ^| findstr "Siki"') do set TEST=%%x
echo %TEST%
pause
endlocal
exit /B 0
@echo off
setlocal enabledelayedexpansion
set LF=^
for /f "tokens=* delims=" %%x in ('dir') do set FILES=!FILES!%%x!LF!
echo !FILES! > aaa.txt
for /f "tokens=* delims=" %%x in ('type aaa.txt ^| findstr "Siki"') do set TEST=%%x
echo %TEST%
pause
endlocal
exit /B 0
870デフォルトの名無しさん
2022/07/09(土) 18:32:57.07ID:qkG/5q2Z でもこの例ならdir | findstrでいいですね…
871デフォルトの名無しさん
2022/07/09(土) 18:38:08.89ID:qkG/5q2Z 本当にやりたかったことは
curlコマンドで某APIでJSONデータ取得
JSONデータをjqコマンドで値取得
取得した値からfindstrコマンドで余計な行を除去
としたかったのですが、某APIが叩ける回数が限られているため
JSONデータを取得する回数を抑えるために一旦配列として保持したかったのです
curlコマンドで某APIでJSONデータ取得
JSONデータをjqコマンドで値取得
取得した値からfindstrコマンドで余計な行を除去
としたかったのですが、某APIが叩ける回数が限られているため
JSONデータを取得する回数を抑えるために一旦配列として保持したかったのです
872デフォルトの名無しさん
2022/07/09(土) 18:41:27.79ID:LLXk/I9Y >>871
真面目な話そこまでやりたいならPowerShellとか使った方が楽だと思うぞ...
真面目な話そこまでやりたいならPowerShellとか使った方が楽だと思うぞ...
873デフォルトの名無しさん
2022/07/09(土) 18:49:52.57ID:qkG/5q2Z >>872
実はやりたいことがこれ以上の事は無いのでバッチレベルで可能だろうと思ったのですが
配列?の使い方がよく分からず質問しました
ひとまず一時ファイル出力して使いまわす形にしようと思います
ちなみに某APIとはスマートリモコンNature Remoの事です
実はやりたいことがこれ以上の事は無いのでバッチレベルで可能だろうと思ったのですが
配列?の使い方がよく分からず質問しました
ひとまず一時ファイル出力して使いまわす形にしようと思います
ちなみに某APIとはスマートリモコンNature Remoの事です
874デフォルトの名無しさん
2022/07/09(土) 18:54:25.52ID:NvGIH30g powershellに一票
乗り換えを先延ばしにすればするほど損が積み上がる
乗り換えを先延ばしにすればするほど損が積み上がる
875デフォルトの名無しさん
2022/07/09(土) 18:59:09.92ID:NvGIH30g 判断のポイントはクッソ不便なbatを捨ててだいぶマシなpsに以降する時期をいつまで先延ばしにするかだけだと思う
876デフォルトの名無しさん
2022/07/09(土) 18:59:46.81ID:qkG/5q2Z 時間ある時に勉強してみたいと思います>PowerShell
ググったらWin7時代から標準であってOSSになっててLinuxでも実行可能とか知りませんでした
割と長く銀行系にいるので頭が古いんでしょうね…
ググったらWin7時代から標準であってOSSになっててLinuxでも実行可能とか知りませんでした
割と長く銀行系にいるので頭が古いんでしょうね…
877デフォルトの名無しさん
2022/07/09(土) 20:00:42.46ID:al4zTytR Ruby では、外部コマンドのcurl を呼び出さなくてもできる
require 'open-uri'
require 'json'
url = 'http://〜' # URL
uri = URI.parse( url )
p obj = JSON.parse( uri.read ) # response body
例えば、外部コマンドのcurlを呼び出して、スクレイピングするなら、
require 'nokogiri'
command = `curl #{ url }`
html = `#{ command }`
doc = Nokogiri::HTML( html )
require 'open-uri'
require 'json'
url = 'http://〜' # URL
uri = URI.parse( url )
p obj = JSON.parse( uri.read ) # response body
例えば、外部コマンドのcurlを呼び出して、スクレイピングするなら、
require 'nokogiri'
command = `curl #{ url }`
html = `#{ command }`
doc = Nokogiri::HTML( html )
878877
2022/07/09(土) 20:05:46.69ID:al4zTytR879デフォルトの名無しさん
2022/07/09(土) 21:46:59.61ID:3uODqf9z setlocal enabledelayedexpansion
set A0=
set i=0
for /f "delims=" %%a in ('dir /b^|findstr "Siki"') do set "A!i!=%%a" &set /a i+=1
if not defined A0 echo Not found.&pause&exit /b
set /a i-=1
for /L %%i in (0,1,%i%) do echo A%%i = "!A%%i!"
pause
set A0=
set i=0
for /f "delims=" %%a in ('dir /b^|findstr "Siki"') do set "A!i!=%%a" &set /a i+=1
if not defined A0 echo Not found.&pause&exit /b
set /a i-=1
for /L %%i in (0,1,%i%) do echo A%%i = "!A%%i!"
pause
880デフォルトの名無しさん
2022/07/21(木) 23:21:25.81ID:3neYOO2a set /a の結果とか与えた数値を16進表記に変換するコマンドか何か良い方法があったら教えて欲しいです
881デフォルトの名無しさん
2022/07/22(金) 01:02:07.69ID:bfkyQVXg >>880
bc.exe
bc.exe
882デフォルトの名無しさん
2022/07/22(金) 01:14:08.48ID:bfkyQVXg883デフォルトの名無しさん
2022/07/22(金) 01:32:20.92ID:bfkyQVXg @echo off
set /a a=123*456
echo a=%a%; obase=16; a | bc
pause
set /a a=123*456
echo a=%a%; obase=16; a | bc
pause
884デフォルトの名無しさん
2022/07/22(金) 01:42:01.70ID:bfkyQVXg echo obase=16; %a% | bc
でもいい
でもいい
885デフォルトの名無しさん
2022/07/22(金) 07:47:11.80ID:bfkyQVXg set /a なら値は高々32ビットだよね
bc は不要かも
cmd /c exit /b %a%
echo %=ExitCode%
bc は不要かも
cmd /c exit /b %a%
echo %=ExitCode%
886デフォルトの名無しさん
2022/07/22(金) 10:43:07.05ID:LvB8fWz+ ダントツ遅いが
powershell -c "'{0:x}' -f 255"
powershell -c "'{0:x}' -f 255"
887デフォルトの名無しさん
2022/07/22(金) 10:45:53.90ID:CXcliooi obaseとかbcとか知らないことがいっぱい出ているな
888デフォルトの名無しさん
2022/07/22(金) 11:33:23.34ID:RIaxNIcl 888
889デフォルトの名無しさん
2022/07/22(金) 13:09:13.02ID:ZzUgbaoD わざわざバッチでやるってことを理解してないアホがいる
pythonでも入れてろゴミ
pythonでも入れてろゴミ
890デフォルトの名無しさん
2022/07/22(金) 13:12:16.30ID:P7NcnZ58 batだけで計算しても理解はされないだろうよ
891デフォルトの名無しさん
2022/07/22(金) 15:55:27.20ID:bfkyQVXg892デフォルトの名無しさん
2022/07/22(金) 18:11:09.86ID:5WL5LWhS set /a n=1194684
if "%n%"=="0" set "r=0" &goto :END
setlocal enabledelayedexpansion
set HEX=0123456789abcdef
set /a "a=n&0xf, b=n>> 4&0xf, c=n>> 8&0xf, d=n>> 12&0xf, e=n>> 16&0xf, f=n>> 20&0xf, g=n>> 24&0xf, h=n>> 28&0xf"
set r=!HEX:~%h%,1!!HEX:~%g%,1!!HEX:~%f%,1!!HEX:~%e%,1!!HEX:~%d%,1!!HEX:~%c%,1!!HEX:~%b%,1!!HEX:~%a%,1!
:DEL_PADZERO
if %r:~0,1% equ 0 set "r=%r:~1%" &goto :DEL_PADZERO
endlocal &set r=%r%
:END
echo 0x%r%
pause
INT32の範囲で良いならバッチではこういうバカっぽいのが結局1番速いんじゃね?
レスアンカーが多過ぎと怒られたから右シフトの右にsp入れてる
if "%n%"=="0" set "r=0" &goto :END
setlocal enabledelayedexpansion
set HEX=0123456789abcdef
set /a "a=n&0xf, b=n>> 4&0xf, c=n>> 8&0xf, d=n>> 12&0xf, e=n>> 16&0xf, f=n>> 20&0xf, g=n>> 24&0xf, h=n>> 28&0xf"
set r=!HEX:~%h%,1!!HEX:~%g%,1!!HEX:~%f%,1!!HEX:~%e%,1!!HEX:~%d%,1!!HEX:~%c%,1!!HEX:~%b%,1!!HEX:~%a%,1!
:DEL_PADZERO
if %r:~0,1% equ 0 set "r=%r:~1%" &goto :DEL_PADZERO
endlocal &set r=%r%
:END
echo 0x%r%
pause
INT32の範囲で良いならバッチではこういうバカっぽいのが結局1番速いんじゃね?
レスアンカーが多過ぎと怒られたから右シフトの右にsp入れてる
893デフォルトの名無しさん
2022/07/22(金) 19:27:14.02ID:bfkyQVXg 話変わるけど右シフトのすぐ右の数字は危険だよね
アンカーに解釈されるので2chで数値が変わる場合があるんだよ
アンカーに解釈されるので2chで数値が変わる場合があるんだよ
894デフォルトの名無しさん
2022/07/22(金) 22:42:20.46ID:AXmcGRlR >>885,886,892
ありがとうございました
powershellは2回目以降だとそんなでも無いですが初回はどうしても遅くなるみたいですね
>>881-884
readline5.dll というのを落としてbcと同じ場所に置くことで動きました
日本語ヘルプ(https://linuxjm.osdn.jp/html/GNU_bc/man1/bc.1.html)が凄く助かりました!
echo sqrt(2) | bc -l
echo scale=10; 4*a(1) | bc -l
とかバッチに無い計算が出来て感動。面白かったのですがパイプで式を渡す時""で括れないので^&|などのメタ文字を
echo 8^^^^2 | bc
echo 8^^^&^^^&2 | bc
とか^エスケープしなければならないのが使いにくいのと
scaleで小数点以下桁数指定出来るのは良いのですが最下桁が四捨五入でも切り捨て切り上げでも無く変な値になったりとかが
惜しい感じですね
エスケープはファイルにして読ませれば良いし最下桁は自力で切り捨てれば良いだけですのでいずれ何かで役立つかも
ありがとうございました
ありがとうございました
powershellは2回目以降だとそんなでも無いですが初回はどうしても遅くなるみたいですね
>>881-884
readline5.dll というのを落としてbcと同じ場所に置くことで動きました
日本語ヘルプ(https://linuxjm.osdn.jp/html/GNU_bc/man1/bc.1.html)が凄く助かりました!
echo sqrt(2) | bc -l
echo scale=10; 4*a(1) | bc -l
とかバッチに無い計算が出来て感動。面白かったのですがパイプで式を渡す時""で括れないので^&|などのメタ文字を
echo 8^^^^2 | bc
echo 8^^^&^^^&2 | bc
とか^エスケープしなければならないのが使いにくいのと
scaleで小数点以下桁数指定出来るのは良いのですが最下桁が四捨五入でも切り捨て切り上げでも無く変な値になったりとかが
惜しい感じですね
エスケープはファイルにして読ませれば良いし最下桁は自力で切り捨てれば良いだけですのでいずれ何かで役立つかも
ありがとうございました
895デフォルトの名無しさん
2022/07/23(土) 09:18:41.04ID:WQSCizyX エスケープは入力要求メッセージ(末尾改行無し)を使って回避する方法がある。
<nul set /p "=8^2" | 〜
※もし行(末尾に改行)が必要なら
<nul set /p "=8^2" | more | 〜
<nul set /p "=8^2" | 〜
※もし行(末尾に改行)が必要なら
<nul set /p "=8^2" | more | 〜
896デフォルトの名無しさん
2022/07/23(土) 10:55:51.20ID:obFo1BRC >>894
set "a=8^^2" & echo %%a%% | bc
set "a=8^^2" & echo %%a%% | bc
897デフォルトの名無しさん
2022/07/24(日) 07:30:05.93ID:oa53tMxs >>895
目からウロコなTips
set /p <nul="8^2" | more | bc
で行けました
moreの代わりにfindやfindstrなどパイプで受け取って改行付加して吐けるコマンドなら使えるっぽい。他には以下とか
(set /p <nul="8^2"&echo=) | bc
set /p の改行無しecho の用法は知っていたんだけどこの局面で使える事に思い付けなかったのが悔しい
目からウロコなTips
set /p <nul="8^2" | more | bc
で行けました
moreの代わりにfindやfindstrなどパイプで受け取って改行付加して吐けるコマンドなら使えるっぽい。他には以下とか
(set /p <nul="8^2"&echo=) | bc
set /p の改行無しecho の用法は知っていたんだけどこの局面で使える事に思い付けなかったのが悔しい
898デフォルトの名無しさん
2022/08/13(土) 20:26:36.34ID:hShn1n51 コマンドからリモートホスト名とそのIPを取得出来ますか?
899デフォルトの名無しさん
2022/08/14(日) 12:49:48.16ID:WvMv+Qf8 nslookup … DNSで調べる
ping … hostsとか諸々込みで実際にどう名前解決されるか
nbtstat … NETBIOS名なら
netstat … 通信で実際に使ってる自端末と相手のIPアドレス
ipconfig … 自端末の諸々
netsh … 自端末の諸々
ping … hostsとか諸々込みで実際にどう名前解決されるか
nbtstat … NETBIOS名なら
netstat … 通信で実際に使ってる自端末と相手のIPアドレス
ipconfig … 自端末の諸々
netsh … 自端末の諸々
900898
2022/08/14(日) 18:43:42.99ID:0tA/3KXA 各コマンドのヘルプ見たり試してみたけど良く分からなかった
WAN側IPとそのホスト名をコマンドから知れないか?を知りたかったんだけど無理そうですか?
nslookupで引数にIP指定すればホスト名は取れるんだけどIPをどうやって知ったら良いものか
WAN側IPとそのホスト名をコマンドから知れないか?を知りたかったんだけど無理そうですか?
nslookupで引数にIP指定すればホスト名は取れるんだけどIPをどうやって知ったら良いものか
901デフォルトの名無しさん
2022/08/14(日) 19:35:36.51ID:R62l2k+7902デフォルトの名無しさん
2022/08/14(日) 19:37:41.23ID:WvMv+Qf8 インターネット上の相手側から見える、自WANのWAN側IPアドレスって事?
例えば自端末がオンラインゲームのホストになる際に相手に教えるIPアドレス。
WAN側機器のWeb管理コンソールとか、
「診断くん」等のWebサービスをスクレイピングすればいいよ。
探せばAPIサービスなんかもあるかもね。
※Webサービス使うときは利用規約をよく読んでね。
既にIPアドレス知る方法を1つは知ってるようだから、その方法でもいいよ。
例えば自端末がオンラインゲームのホストになる際に相手に教えるIPアドレス。
WAN側機器のWeb管理コンソールとか、
「診断くん」等のWebサービスをスクレイピングすればいいよ。
探せばAPIサービスなんかもあるかもね。
※Webサービス使うときは利用規約をよく読んでね。
既にIPアドレス知る方法を1つは知ってるようだから、その方法でもいいよ。
903デフォルトの名無しさん
2022/08/14(日) 19:49:12.00ID:3lHTKQ6A ホスト名とは何かという定義が必要だな
WEBサーバーなら複数のホスト名(URLのドメインパート)で同じ(時には複数の)サーバーに接続する
https://5ch.net/でアクセスされるサーバーなら 5ch.net がホスト名だが
同じサーバーが他のドメインもホストしているなら、他のホスト名も持っていることになる
あるサーバーが、接続され得るすべてのホスト名を知りたいと思っても、それは世界中のDNSの勝手なの、
漏れなく調べるためには、世界中のすべてのドメインのレコードを調べる必要があるので、実際には無理。
DNSの逆引きは、それを設定している人が必要な分を登録しているだけなので、すべてとは言い切れない。
WEBサーバーなら複数のホスト名(URLのドメインパート)で同じ(時には複数の)サーバーに接続する
https://5ch.net/でアクセスされるサーバーなら 5ch.net がホスト名だが
同じサーバーが他のドメインもホストしているなら、他のホスト名も持っていることになる
あるサーバーが、接続され得るすべてのホスト名を知りたいと思っても、それは世界中のDNSの勝手なの、
漏れなく調べるためには、世界中のすべてのドメインのレコードを調べる必要があるので、実際には無理。
DNSの逆引きは、それを設定している人が必要な分を登録しているだけなので、すべてとは言い切れない。
904デフォルトの名無しさん
2022/08/14(日) 20:04:12.33ID:zcJ+8Zbe905デフォルトの名無しさん
2022/08/14(日) 20:07:44.49ID:0tA/3KXA そうです。自分のインターネット側のIP
ルーター管理画面のWAN側IPです
これをコマンド(LAN側のマシン)から調べる方法が無いのかなって
> Webサービスをスクレイピング
これってコマンドでやる方法あります?
NECのなんですけどルーター管理画面から取れるのかな?
ちょっとググったりしてみましたけど簡単なバッチくらいしか使えない自分にはハードル高いかも
ルーター管理画面のWAN側IPです
これをコマンド(LAN側のマシン)から調べる方法が無いのかなって
> Webサービスをスクレイピング
これってコマンドでやる方法あります?
NECのなんですけどルーター管理画面から取れるのかな?
ちょっとググったりしてみましたけど簡単なバッチくらいしか使えない自分にはハードル高いかも
906デフォルトの名無しさん
2022/08/14(日) 22:44:27.94ID:zcJ+8Zbe >>905
curl.exeを持ってこないといけないけど
診断君のスクレイピングだと
@echo off
curl.exe http://taruo.net/e/ -s -o "res.tmp"
for /f "tokens=*" %%i in ('findstr "<TD><tt>" res.tmp') do set host=%%i&goto :get_ip
:get_ip
for /f "skip=1 tokens=*" %%i in ('findstr "<TD><tt>" res.tmp') do set ip=%%i&goto out
goto :eof
:out
for /f "delims=<> tokens=3" %%i in ("%host%") do set host=%%i
for /f "delims=<> tokens=3" %%i in ("%ip%") do set ip=%%i
set ip=%ip:~0,-2%
echo HOST NAME = %host%
echo IP ADDRESS = %ip%
curl.exeを持ってこないといけないけど
診断君のスクレイピングだと
@echo off
curl.exe http://taruo.net/e/ -s -o "res.tmp"
for /f "tokens=*" %%i in ('findstr "<TD><tt>" res.tmp') do set host=%%i&goto :get_ip
:get_ip
for /f "skip=1 tokens=*" %%i in ('findstr "<TD><tt>" res.tmp') do set ip=%%i&goto out
goto :eof
:out
for /f "delims=<> tokens=3" %%i in ("%host%") do set host=%%i
for /f "delims=<> tokens=3" %%i in ("%ip%") do set ip=%%i
set ip=%ip:~0,-2%
echo HOST NAME = %host%
echo IP ADDRESS = %ip%
907デフォルトの名無しさん
2022/08/14(日) 22:55:35.81ID:zcJ+8Zbe >>905
何も要らないが、powershellを使わないといけない
(なおwebアクセスで診断君以外ではtls1.2を有効にしないとダメなことが多い)
$res = wget http://taruo.net/e/
if ($res.content -match "REMOTE_HOST<\/TD>\n<TD><tt>(.+)<\/tt>[\s\S]+?REMOTE_ADDR<\/TD>\n<TD><tt>([.\d]+)" ) {
$host_name = $matches[1]
$ip_address = $matches[2]
}
$host_name
$ip_address
何も要らないが、powershellを使わないといけない
(なおwebアクセスで診断君以外ではtls1.2を有効にしないとダメなことが多い)
$res = wget http://taruo.net/e/
if ($res.content -match "REMOTE_HOST<\/TD>\n<TD><tt>(.+)<\/tt>[\s\S]+?REMOTE_ADDR<\/TD>\n<TD><tt>([.\d]+)" ) {
$host_name = $matches[1]
$ip_address = $matches[2]
}
$host_name
$ip_address
908デフォルトの名無しさん
2022/08/15(月) 00:00:17.27ID:xwOg3pSS909デフォルトの名無しさん
2022/08/15(月) 02:02:49.45ID:xwOg3pSS お陰様でコマンドから確認出来るようになりました。この度は本当にありがとうございました
for /f "skip=301 tokens=4 delims=< " %a in ('curl http://admin:admin@192.168.0.1/index.cgi/info_main_set -s') do (for /f "skip=3 tokens=2" %b in ('nslookup %a') do @echo %b)&pause
pauseからCtrl+Cで止めているのですが、breakはバッチでgotoしないと無理ですよね?
for /f "skip=301 tokens=4 delims=< " %a in ('curl http://admin:admin@192.168.0.1/index.cgi/info_main_set -s') do (for /f "skip=3 tokens=2" %b in ('nslookup %a') do @echo %b)&pause
pauseからCtrl+Cで止めているのですが、breakはバッチでgotoしないと無理ですよね?
910デフォルトの名無しさん
2022/08/15(月) 08:55:40.32ID:3ogXO4Oz call :ラベル名 で処理を呼び出して exit /b を break として使うこともできるよ
911デフォルトの名無しさん
2022/08/15(月) 21:05:50.46ID:Z47lvB2J >>909
breakしたい、というか302行目だけ欲しいってことかな。
findstrで行番号振って、さらにfindstrで目的の行だけ取るって方法があるよ。
for /f "tokens=4 delims=< " %a in ('curl 〜 -s^| findstr /rn /c:"^"^| findstr /r /c:"^302:"') do
breakしたい、というか302行目だけ欲しいってことかな。
findstrで行番号振って、さらにfindstrで目的の行だけ取るって方法があるよ。
for /f "tokens=4 delims=< " %a in ('curl 〜 -s^| findstr /rn /c:"^"^| findstr /r /c:"^302:"') do
912デフォルトの名無しさん
2022/08/16(火) 15:31:14.62ID:RClv+rPW >>911
for /f "tokens=5 delims=< " %a in ('curl http://admin:admin@192.168.0.1/index.cgi/info_main_set -s ^| findstr /n "^" ^| findstr "^302:" ') do for /f "tokens=2" %b in ('nslookup %a ^| findstr "名前 Name"') do echo %a : %b
ありがとうございます。Ctrl+C する必要無くなりました
skip=301付けたままのうっかりミスのせいで上手く動かない原因を文字コードがEUC-JPだからfindstrが機能しないのだと勘違いし文字コードを変換する外部ツールnkf.exe入れたり明後日のことしてハマってました
目的が何行目か決まっている時は最良の方法かもですね
行番号列挙する必要がありますが複数行でも使えますし
for /f "tokens=5 delims=< " %a in ('curl http://admin:admin@192.168.0.1/index.cgi/info_main_set -s ^| findstr /n "^" ^| findstr "^302:" ') do for /f "tokens=2" %b in ('nslookup %a ^| findstr "名前 Name"') do echo %a : %b
ありがとうございます。Ctrl+C する必要無くなりました
skip=301付けたままのうっかりミスのせいで上手く動かない原因を文字コードがEUC-JPだからfindstrが機能しないのだと勘違いし文字コードを変換する外部ツールnkf.exe入れたり明後日のことしてハマってました
目的が何行目か決まっている時は最良の方法かもですね
行番号列挙する必要がありますが複数行でも使えますし
913デフォルトの名無しさん
2022/08/27(土) 21:14:13.99ID:S8eeCUJc 文字列の入った変数から、その文字数を高速に取得したいんですが
なにか良い方法はありますか? 上限は8189です
なにか良い方法はありますか? 上限は8189です
914デフォルトの名無しさん
2022/08/27(土) 22:59:03.27ID:OpG+r6e/ if "%s:~4095,1%"=="" (4095文字より少ない) else 4095文字よりも多い
:4095未満
if "%s:~2048,1%"=="" (2048より少) else 2049以上4095未満
:4095以上
if "%s:~7042,1%"=="" (4095以上7042未満) else 7042以上
こんな感じでifを入れ子にでもサブルーチンにでもしてある程度どの範囲にあるか詰めてからカウントすれば?
8189文字で正常に動くかは忘れた分からん
カウントは 遅延展開で if "!s:~%N%,1!"=="" って感じで Nを+1してループさせればいい
:4095未満
if "%s:~2048,1%"=="" (2048より少) else 2049以上4095未満
:4095以上
if "%s:~7042,1%"=="" (4095以上7042未満) else 7042以上
こんな感じでifを入れ子にでもサブルーチンにでもしてある程度どの範囲にあるか詰めてからカウントすれば?
8189文字で正常に動くかは忘れた分からん
カウントは 遅延展開で if "!s:~%N%,1!"=="" って感じで Nを+1してループさせればいい
915デフォルトの名無しさん
2022/08/27(土) 23:07:32.10ID:S8eeCUJc916デフォルトの名無しさん
2022/08/27(土) 23:22:13.27ID:VY6ZsFbR917デフォルトの名無しさん
2022/08/27(土) 23:24:42.08ID:OpG+r6e/ setだかcmdの構文解析だかの引数の文字数上限が8191 (0x1fff) とかで "s=" で2文字必要だから8189とかだったかな
変数名が単一文字で無かったり "" で囲ったりしても使用可能文字数減るはずだし
forやifの中で展開出来なかったりしたと思うから
限界探るなら一見使えているように見えてもちゃんと確認しといた方が良いよ
変数名が単一文字で無かったり "" で囲ったりしても使用可能文字数減るはずだし
forやifの中で展開出来なかったりしたと思うから
限界探るなら一見使えているように見えてもちゃんと確認しといた方が良いよ
918デフォルトの名無しさん
2022/08/27(土) 23:49:06.77ID:OpG+r6e/ 4096 -> 2048 -> 1024 -> 512 -> 256 -> 128 -> 64 -> 32
if で8回くらい判定させればそれなりに速く出来ると思う
256分割。。
オフセットも変数にしてループするとか
512で真だったら /2 偽だったら *1.5 (set /a N=N/2+N) てな感じで
if で8回くらい判定させればそれなりに速く出来ると思う
256分割。。
オフセットも変数にしてループするとか
512で真だったら /2 偽だったら *1.5 (set /a N=N/2+N) てな感じで
919デフォルトの名無しさん
2022/08/28(日) 00:01:54.99ID:hYNZdTyV >>913
set s=abcdefg
setlocal enabledelayedexpansion
set n=0 & if defined s (set /a "n=1<<13"
for /L %%i in (12,-1,0) do (set /a "a=n-(1<<%%i)"
for %%j in (!a!) do if "!s:~%%j,1!"=="" set n=!a!))
echo !n!
set s=abcdefg
setlocal enabledelayedexpansion
set n=0 & if defined s (set /a "n=1<<13"
for /L %%i in (12,-1,0) do (set /a "a=n-(1<<%%i)"
for %%j in (!a!) do if "!s:~%%j,1!"=="" set n=!a!))
echo !n!
920デフォルトの名無しさん
2022/08/28(日) 00:18:39.63ID:8DkHE3ui なるほどなー
set n=!a! や set /a "a=n-(1<<%%i)"
これがパッと出て来るなんて頭良いですね
set n=!a! や set /a "a=n-(1<<%%i)"
これがパッと出て来るなんて頭良いですね
921デフォルトの名無しさん
2022/08/28(日) 10:26:23.19ID:+w1wfoOM たとえばファイルサイズを
%~z1 でなくfilename.sizeみたいなわかりやすい書き方に
する方法はないですか
%~z1 でなくfilename.sizeみたいなわかりやすい書き方に
する方法はないですか
922デフォルトの名無しさん
2022/08/28(日) 10:36:37.74ID:FcIb+N5t バッチファイルにわかりやすい書き方なんてものがあったら、俺の髪はもっと残ってた
923デフォルトの名無しさん
2022/08/28(日) 11:08:55.91ID:CaouF0NP バッチの基本的な考え方としては基本コマンドにこだわらず外部コマンドを呼ぶことだと思う
セキュリティ的に外部コマンドは入れられないといった制約があるならこのレガシーツールを使い続けるのは無理がある
現実解のひとつはPowershellのワンライナーを呼ぶことで
そうやって少しずつ学んでるうちに段階的にbatを卒業することだと思う
セキュリティ的に外部コマンドは入れられないといった制約があるならこのレガシーツールを使い続けるのは無理がある
現実解のひとつはPowershellのワンライナーを呼ぶことで
そうやって少しずつ学んでるうちに段階的にbatを卒業することだと思う
924デフォルトの名無しさん
2022/08/28(日) 11:23:21.78ID:+w1wfoOM >>923
ありがとうございます
やはり無理なのか、aliasesなどを使った名案があればいいのに
Powershellはコマンド名が長すぎて使う気になれない
外部コマンドやツ-ルを使えば簡単でもセキュリティ的に問題があるかわからないので使いたくない場合がある
ありがとうございます
やはり無理なのか、aliasesなどを使った名案があればいいのに
Powershellはコマンド名が長すぎて使う気になれない
外部コマンドやツ-ルを使えば簡単でもセキュリティ的に問題があるかわからないので使いたくない場合がある
925デフォルトの名無しさん
2022/08/28(日) 11:41:21.61ID:3aiLuiYL エイリアスもどきはあるよ
マクロファイルに定義を書いておいて一斉に登録することもできる
doskey /?
あとpowershellにはエイリアスがある
マクロファイルに定義を書いておいて一斉に登録することもできる
doskey /?
あとpowershellにはエイリアスがある
926デフォルトの名無しさん
2022/08/28(日) 15:23:54.30ID:CaouF0NP Powershellは単に慣れと食わず嫌いの問題やね
cmdも無数の気持ち悪いルールがあるし現にたかが文字を数えるだけで呪文めいたコードが必要になってる
何にせよ人間慣れれば気にならなくなるもの
さすがにあと5年で定年だからプログラミングしなくなりますなんて老人には勧めんけどね
コマンドの長さとエイリアスについては
俺はGet-ChildItemはダルいからdirやlsと書くし
ForEach-Objectの代わりに%と書き続けてる
cmdも無数の気持ち悪いルールがあるし現にたかが文字を数えるだけで呪文めいたコードが必要になってる
何にせよ人間慣れれば気にならなくなるもの
さすがにあと5年で定年だからプログラミングしなくなりますなんて老人には勧めんけどね
コマンドの長さとエイリアスについては
俺はGet-ChildItemはダルいからdirやlsと書くし
ForEach-Objectの代わりに%と書き続けてる
927デフォルトの名無しさん
2022/08/28(日) 15:36:49.18ID:3aiLuiYL powershellの弱点は初期起動に時間が掛かるという点だね
通常的にpowershellを使ってるならいいけど、
それこそ特定の処理だけたまに使うという人にはそこがネックになる
そういう場合はもうオブソリュートだがWSHがいい仕事をする
通常的にpowershellを使ってるならいいけど、
それこそ特定の処理だけたまに使うという人にはそこがネックになる
そういう場合はもうオブソリュートだがWSHがいい仕事をする
928デフォルトの名無しさん
2022/08/28(日) 17:28:34.01ID:hYNZdTyV >>921 わかりやすい変数に代入すれば?
929デフォルトの名無しさん
2022/08/28(日) 19:39:30.66ID:TtkhtxSa 底辺ドカタがアイデンティティ護ろうと必死だけど必死に見られたくない虚栄心とのせめぎ合いが垣間見えてワラw
930デフォルトの名無しさん
2022/08/28(日) 19:49:06.93ID:hYNZdTyV エイリアス無いし
batを使いたいなら騙しながらやるしかないだろ
batを使いたいなら騙しながらやるしかないだろ
931デフォルトの名無しさん
2022/08/29(月) 03:05:26.48ID:Rm8LZ6WJ >>924
ほんとはvbsが起動も速度も速い上にバッチやps程変な癖もなくていわゆるVB脳程度の知識でそこそこのものが手軽に書けるんだよ
ただこの板にあるスレが一言で言えば気持ち悪いから誰も触れないのよ
よくvbsはオワコンて言われるけど少なくとも2029年までは標準で使えるから安心していいよ
ほんとはvbsが起動も速度も速い上にバッチやps程変な癖もなくていわゆるVB脳程度の知識でそこそこのものが手軽に書けるんだよ
ただこの板にあるスレが一言で言えば気持ち悪いから誰も触れないのよ
よくvbsはオワコンて言われるけど少なくとも2029年までは標準で使えるから安心していいよ
932デフォルトの名無しさん
2022/08/29(月) 04:54:03.93ID:DAjO1ugz @echo off &setlocal
call :LEN
echo %errorlevel%
call :LEN a
echo %errorlevel%
call :LEN ab
echo %errorlevel%
call :LEN abcde
echo %errorlevel%
call :LEN "abcdefg"
echo %errorlevel%
pause &exit /b
:LEN
setlocal enabledelayedexpansion
set "s=%~1"
if not defined s goto :EOF
set /a "n=8192" &rem "1<<13"
for /L %%i in (12,-1,0) do set /a "a=n-(1<<%%i)" &echo n:!n!, a:!a! &for %%j in (!a!) do if "!s:~%%j,1!"=="" set n=!a!
exit /b %n%
>>919 さんのこれ凄いね
関数っぽく使えるようサブルーチン化と変数確認のechoさせてみたけど
バッチでの文字数カウントとしては最強じゃね?
call :LEN
echo %errorlevel%
call :LEN a
echo %errorlevel%
call :LEN ab
echo %errorlevel%
call :LEN abcde
echo %errorlevel%
call :LEN "abcdefg"
echo %errorlevel%
pause &exit /b
:LEN
setlocal enabledelayedexpansion
set "s=%~1"
if not defined s goto :EOF
set /a "n=8192" &rem "1<<13"
for /L %%i in (12,-1,0) do set /a "a=n-(1<<%%i)" &echo n:!n!, a:!a! &for %%j in (!a!) do if "!s:~%%j,1!"=="" set n=!a!
exit /b %n%
>>919 さんのこれ凄いね
関数っぽく使えるようサブルーチン化と変数確認のechoさせてみたけど
バッチでの文字数カウントとしては最強じゃね?
933デフォルトの名無しさん
2022/08/29(月) 07:10:34.83ID:ZvttE7Ov 変数に代入出来るのが8000でも
set/pで入力出来るのは1000ほどしかないな
文字数が多いと色々と落とし穴ありそう
set/pで入力出来るのは1000ほどしかないな
文字数が多いと色々と落とし穴ありそう
934デフォルトの名無しさん
2022/08/30(火) 16:27:10.19ID:2X2Lv8NW >>932 更に分かりやすくしてみた
for /L %%i in (12,-1,0) do set /a "b=1<<%%i, a=n-b" &set /p<nul="a:[!a!] = n:[!n!] - (1<<%%^i:[%%i]):[!b!] " &for %%j in (!a!) do if "!s:~%%j,1!"=="" (set "n=!a!" &echo 文字:無い) else echo 文字:在る
for /L %%i in (12,-1,0) do set /a "b=1<<%%i, a=n-b" &set /p<nul="a:[!a!] = n:[!n!] - (1<<%%^i:[%%i]):[!b!] " &for %%j in (!a!) do if "!s:~%%j,1!"=="" (set "n=!a!" &echo 文字:無い) else echo 文字:在る
935デフォルトの名無しさん
2022/08/30(火) 20:51:26.64ID:Qtk7w0l/ もう質問者はいないぞ
936デフォルトの名無しさん
2022/08/30(火) 23:17:38.91ID:+Bm8wCSm 素人なんだけど >>919 みたいなのってプログラマだったら知っていて当然の定番のロジック?アルゴリズム?だったりするん?
937デフォルトの名無しさん
2022/08/31(水) 00:08:53.66ID:F2h2Wpm0938デフォルトの名無しさん
2022/08/31(水) 05:05:19.96ID:I3t0py3T939デフォルトの名無しさん
2022/08/31(水) 06:19:56.53ID:IktOvXlL 個人的にはforの入れ子がおもしろい。そんな方法があるのかと思った。
普通そこはcallを考えるけど、そうすると速度が落ちるのかな
普通そこはcallを考えるけど、そうすると速度が落ちるのかな
940デフォルトの名無しさん
2022/08/31(水) 20:20:14.08ID:TgQJCwr4 言語にっよっては文字数を数える関数とかがあるけど、こういう手法を駆使してるん?
941デフォルトの名無しさん
2022/08/31(水) 21:42:17.85ID:/4IK1Kkc %%iをカウントダウンさせて変数一つ省略させてるのが美しいわ
942デフォルトの名無しさん
2022/08/31(水) 23:00:05.56ID:dYVvh+jC943デフォルトの名無しさん
2022/08/31(水) 23:03:12.74ID:FwIzrDsl 可変長の文字コードが一般的だから、先頭から数えないと文字数はわからない
944デフォルトの名無しさん
2022/08/31(水) 23:25:40.84ID:8OAd82SA 942の言う通り言語や型によっては文字数を予め持たせてるよ
最初に一度だけカウントしてメモっておけば何度も数え直す必要がない
最初に一度だけカウントしてメモっておけば何度も数え直す必要がない
945デフォルトの名無しさん
2022/08/31(水) 23:41:16.72ID:IktOvXlL C言語のstrlenだと単純に先頭から0を探すだけ
末尾以降のメモリは0とは限らない。ゴミだらけ
末尾以降のメモリは0とは限らない。ゴミだらけ
946デフォルトの名無しさん
2022/09/01(木) 05:31:13.24ID:dRjt3+vQ947デフォルトの名無しさん
2022/09/01(木) 10:54:06.41ID:KDf3jCCr たぶんだけど
内部表現がUTF-8みたいな可変長(Perl等)ならバイト数じゃなくて文字数で持ってると思う。
内部表現がUTF-16みたいな固定長(.NET等)でバイト数÷2が文字数になる言語だと、
「取得毎に÷2(右シフト)の負荷」をとるか
「常に文字数保持のメモリ消費」をとるかは言語による気がする。※まあ後者かな。
内部表現がUTF-8みたいな可変長(Perl等)ならバイト数じゃなくて文字数で持ってると思う。
内部表現がUTF-16みたいな固定長(.NET等)でバイト数÷2が文字数になる言語だと、
「取得毎に÷2(右シフト)の負荷」をとるか
「常に文字数保持のメモリ消費」をとるかは言語による気がする。※まあ後者かな。
948デフォルトの名無しさん
2022/09/01(木) 11:14:11.70ID:BOpcWEhd if definedはあるが、if not definedはエラーになることを発見した
949デフォルトの名無しさん
2022/09/01(木) 11:34:31.15ID:KDf3jCCr ならんが
950デフォルトの名無しさん
2022/09/01(木) 12:10:09.24ID:BOpcWEhd951デフォルトの名無しさん
2022/09/01(木) 14:31:17.40ID:EyFcbtIt 初心者です
[曲名].mp3 の様に
曲名をカッコで囲んでファイル名を出力する方法はどうしたらよいのでしょうか?
-o "%%(title)s.%%(ext)s"
ここの()を[]に変えてもダメでした
お時間ある方いらっしゃいましたらよろしくお願い致します。
[曲名].mp3 の様に
曲名をカッコで囲んでファイル名を出力する方法はどうしたらよいのでしょうか?
-o "%%(title)s.%%(ext)s"
ここの()を[]に変えてもダメでした
お時間ある方いらっしゃいましたらよろしくお願い致します。
952デフォルトの名無しさん
2022/09/01(木) 14:33:44.02ID:5NMGBymZ 多分こっちのスレで聞いた方がいい
【DL】動画の保存方法総合スレ【アダルト禁止】part51
https://egg.5ch.net/test/read.cgi/streaming/1654911933/
【DL】動画の保存方法総合スレ【アダルト禁止】part51
https://egg.5ch.net/test/read.cgi/streaming/1654911933/
953デフォルトの名無しさん
2022/09/01(木) 14:37:30.33ID:EyFcbtIt 952さん
教えてくれてありがとうございます
失礼いたしました
教えてくれてありがとうございます
失礼いたしました
954デフォルトの名無しさん
2022/09/01(木) 14:41:09.20ID:EyFcbtIt 教えて頂いた所は書き込みできませんでした><;
955デフォルトの名無しさん
2022/09/01(木) 14:42:55.59ID:5NMGBymZ 今出先だから試せないけど多分こうかな
-o "[%%(title)s].%%(ext)s"
-o "[%%(title)s].%%(ext)s"
956デフォルトの名無しさん
2022/09/01(木) 14:52:40.78ID:EyFcbtIt 599さん出来ました♪
親切に教えてくれてありがとうございました
感謝です(*- -)(*_ _)ペコリ
親切に教えてくれてありがとうございました
感謝です(*- -)(*_ _)ペコリ
957デフォルトの名無しさん
2022/09/01(木) 14:53:42.59ID:EyFcbtIt 955さんでした...ごめんなさい
958デフォルトの名無しさん
2022/09/01(木) 21:32:28.04ID:P4dKpTai 文字列処理は、Ruby で書いて、
コマンドプロンプト・Power Shell から呼び出す
これが間違いない。
バグる事もない
日本の人工衛星でも、文字列処理の部分を組み込みのmruby で作ったりする。
こういう処理をCで作ると、ややこしくてバグるから
VBS, WSH のピッコロ大魔王は、すごい技術者だよ。
スクレイピングでも、Rubyのクラス・モジュールみたいに、VBScript で作ったりする
VBS から、.NET とか呼び出せるのか
コマンドプロンプト・Power Shell から呼び出す
これが間違いない。
バグる事もない
日本の人工衛星でも、文字列処理の部分を組み込みのmruby で作ったりする。
こういう処理をCで作ると、ややこしくてバグるから
VBS, WSH のピッコロ大魔王は、すごい技術者だよ。
スクレイピングでも、Rubyのクラス・モジュールみたいに、VBScript で作ったりする
VBS から、.NET とか呼び出せるのか
959デフォルトの名無しさん
2022/09/02(金) 06:32:40.82ID:s4Jk55Dy たかがその程度でそんなことする必要ない
960デフォルトの名無しさん
2022/09/02(金) 07:22:53.60ID:m72Ydqk7 RubyってWindowsデフォで処理できんの?Pythonは?
961デフォルトの名無しさん
2022/09/02(金) 09:55:08.52ID:ly4TfMW8962デフォルトの名無しさん
2022/09/02(金) 12:18:58.31ID:m72Ydqk7 それいいな
Ruby置いておいて.batから呼び出すの超楽じゃん
Ruby置いておいて.batから呼び出すの超楽じゃん
963デフォルトの名無しさん
2022/09/03(土) 13:13:17.18ID:JK72C2wT mp3をダウンロードして128kにするバッチファイル教えてもらえませんか?
yt-dlpとffpmeg使って色々と試してみてもうまくいきません
ダウンロードしたあとでしたら名前が分かるのでこれで出来たのですけど
ffmpeg -i input.mp3 -vcodec copy -ab 128k output.mp3
yt-dlpとffpmeg使って色々と試してみてもうまくいきません
ダウンロードしたあとでしたら名前が分かるのでこれで出来たのですけど
ffmpeg -i input.mp3 -vcodec copy -ab 128k output.mp3
964デフォルトの名無しさん
2022/09/03(土) 13:56:15.90ID:91ZlUxrs965958
2022/09/03(土) 15:43:23.43ID:X5iiwVOT >>960
ただし、Python, Ruby などのウェブ系言語は、
インターネット・Linux・UTF-8 用に作られているので、
Windows・shift-jis(CP932)の日本語でバグるかも
だから、Linux用のソースコードを、
MSYS2/MinGW でコンパイルして、Windows用にしたものよりも、
WSL2 で、Linuxを動かしたものの方が安全
これは、UTF-8をCP932に変換せず、そのままUTF-8を使っているから安全
漏れが作った感想では、PowerShell, VBScript よりも、
圧倒的に、Rubyが作りやすい。
Rubyの方が、本なども多いし
ただし、Python, Ruby などのウェブ系言語は、
インターネット・Linux・UTF-8 用に作られているので、
Windows・shift-jis(CP932)の日本語でバグるかも
だから、Linux用のソースコードを、
MSYS2/MinGW でコンパイルして、Windows用にしたものよりも、
WSL2 で、Linuxを動かしたものの方が安全
これは、UTF-8をCP932に変換せず、そのままUTF-8を使っているから安全
漏れが作った感想では、PowerShell, VBScript よりも、
圧倒的に、Rubyが作りやすい。
Rubyの方が、本なども多いし
966デフォルトの名無しさん
2022/09/06(火) 21:18:12.82ID:RxqiahQJ pythonでも、いけるのか。うむ。
967デフォルトの名無しさん
2022/09/10(土) 02:55:46.45ID:jyBCEVh6 あっというまにうんこうめ
968デフォルトの名無しさん
2022/09/11(日) 18:11:08.37ID:sXKbUVWc パイプから文字列受け取ってsetする方法って
echo a|for /f %%a in ('more') do set a=%%a
みたいにforでやるか一旦ファイルに書き出すしか無い?
echo a| set /p a="" <pipe
みたいにリダイレクトに繋げてくれるかパイプで流れてくるものに%$_%とか一時変数っぽいものに割り当ててくれたら良いのに
rg.exeが便利すぎて遊んでてふと思った
echo a|for /f %%a in ('more') do set a=%%a
みたいにforでやるか一旦ファイルに書き出すしか無い?
echo a| set /p a="" <pipe
みたいにリダイレクトに繋げてくれるかパイプで流れてくるものに%$_%とか一時変数っぽいものに割り当ててくれたら良いのに
rg.exeが便利すぎて遊んでてふと思った
969デフォルトの名無しさん
2022/09/12(月) 23:31:40.49ID:JnviOvBd rgがcmdで使い物にならなくてショック
パイプで受け取る分には-E sjisで出来るんだけどrgからパイプで次に繋げたりリダイレクトで出力するとascii以外の文字は化ける
これcmd上だとどうにもならない?
https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#pipe-non-ascii-windows
パイプで受け取る分には-E sjisで出来るんだけどrgからパイプで次に繋げたりリダイレクトで出力するとascii以外の文字は化ける
これcmd上だとどうにもならない?
https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#pipe-non-ascii-windows
970デフォルトの名無しさん
2022/09/13(火) 10:43:09.25ID:C/JjoHd5 文字コードの問題なら
一旦nkf32でも中継させて文字コード変換して読み直すとか?
一旦nkf32でも中継させて文字コード変換して読み直すとか?
971デフォルトの名無しさん
2022/09/13(火) 13:50:58.24ID:8ckY0WFW chcp 65001
して全部 utf8 でやっちゃう
utf8 のバッチファイルで行末が2バイト文字だとエラーに
なるんで、そういうのは行末に . とかで回避
して全部 utf8 でやっちゃう
utf8 のバッチファイルで行末が2バイト文字だとエラーに
なるんで、そういうのは行末に . とかで回避
972デフォルトの名無しさん
2022/09/13(火) 19:02:32.59ID:BFM47HY2973デフォルトの名無しさん
2022/09/13(火) 20:01:05.07ID:gJ1f0QwF ちょっと大変どころじゃないけど
UTF-8とかの時点でPowershell検討しなよ
UTF-8とかの時点でPowershell検討しなよ
974デフォルトの名無しさん
2022/09/14(水) 02:23:02.40ID:ifExYD0i 分かっていると思うけど
nkf等で変換しても変換不可の文字が欠落するので注意
nkf等で変換しても変換不可の文字が欠落するので注意
975デフォルトの名無しさん
2022/09/14(水) 02:38:59.13ID:d7brrjLd えっ?いや全然分かってないです
sjis → utf-8 → sjis
で欠落する文字って在るのでしょうか?
半角カナはxオプションで維持可能でした
sjis → utf-8 → sjis
で欠落する文字って在るのでしょうか?
半角カナはxオプションで維持可能でした
976デフォルトの名無しさん
2022/09/14(水) 02:51:18.58ID:ifExYD0i 元がsjisならいいと思いますたぶん
977デフォルトの名無しさん
2022/09/14(水) 09:41:51.82ID:t44Y6QQe >>974
そう、完璧版nkfがあるといい
そう、完璧版nkfがあるといい
978デフォルトの名無しさん
2022/09/14(水) 09:45:41.31ID:bQ7RTOjb コンソールアプリでパイプの時点で色々諦めなきゃね
rg.exeとやらはwinforms版はないの?オプソだよね?
rg.exeとやらはwinforms版はないの?オプソだよね?
979デフォルトの名無しさん
2022/09/14(水) 18:03:36.58ID:XL8H98jz 完璧版nkfとは、どのようなものになるのでしょうか?
UTF-8、UTF-16対応?
文字コードによって存在する文字(というかコード?)にどう対応すればよいのでしょうね?
UTF-8、UTF-16対応?
文字コードによって存在する文字(というかコード?)にどう対応すればよいのでしょうね?
980デフォルトの名無しさん
2022/09/14(水) 18:24:17.06ID:RZxozk25 フォルダ a:\xxx を
a:\yyy の下に移動して
a:\yyy\xxx とするのはどうやりますか?
a:\yyy の下に移動して
a:\yyy\xxx とするのはどうやりますか?
981デフォルトの名無しさん
2022/09/14(水) 19:24:16.59ID:ifExYD0i move
982デフォルトの名無しさん
2022/09/14(水) 19:57:29.62ID:XL8H98jz move a:\xxx\*.* a:\xxx\yyy
983デフォルトの名無しさん
2022/09/14(水) 19:59:06.71ID:XL8H98jz 間違えた。
x move a:\xxx\*.* a:\xxx\yyy
o move a:\xxx\*.* a:\yyy\xxx
x move a:\xxx\*.* a:\xxx\yyy
o move a:\xxx\*.* a:\yyy\xxx
984デフォルトの名無しさん
2022/09/14(水) 20:02:13.40ID:XL8H98jz 次スレを立てて見ようと思います。
失敗したら、あとのかたお願いします。
失敗したら、あとのかたお願いします。
985デフォルトの名無しさん
2022/09/14(水) 20:05:48.88ID:XL8H98jz 次スレです。
【.cmd】 バッチファイルスクリプト %15 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1663153441/l50
後の埋めは、よろしくお願いします。
【.cmd】 バッチファイルスクリプト %15 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1663153441/l50
後の埋めは、よろしくお願いします。
986デフォルトの名無しさん
2022/09/14(水) 20:10:50.57ID:y9++92To move a:\xxx a:\yyy
で行けないかな
ダメならxcopyかrobocopyを使う
で行けないかな
ダメならxcopyかrobocopyを使う
987デフォルトの名無しさん
2022/09/14(水) 22:44:29.10ID:XL8H98jz rem フォルダyyyが無い場合、フォルダyyyを作成。
md a:\xxx\yyy
rem フォルダxxx下にファイルが有る場合。
move a\xxx\*.* a:\xxx\yyy
md a:\xxx\yyy
rem フォルダxxx下にファイルが有る場合。
move a\xxx\*.* a:\xxx\yyy
988デフォルトの名無しさん
2022/09/14(水) 22:45:56.57ID:XL8H98jz コピーの場合、
move a\xxx\*.* a:\xxx\yyy
のmoveをcopyにして下さい。
move a\xxx\*.* a:\xxx\yyy
のmoveをcopyにして下さい。
989デフォルトの名無しさん
2022/09/15(木) 07:10:21.66ID:PHto6B20 md a:\yyy
if not exist a:\yyy\xxx (move a:\xxx a:\yyy) else (
if exist a:\yyy\xxx\nul (
move /-y a:\xxx\* a:\yyy\xxx
for /d %%i in (a:\xxx\*) do move "%%i" a:\yyy\xxx
rd a:\xxx ))
既存のため移動できない物はa:\xxxに残るので名前変更して再実行
if not exist a:\yyy\xxx (move a:\xxx a:\yyy) else (
if exist a:\yyy\xxx\nul (
move /-y a:\xxx\* a:\yyy\xxx
for /d %%i in (a:\xxx\*) do move "%%i" a:\yyy\xxx
rd a:\xxx ))
既存のため移動できない物はa:\xxxに残るので名前変更して再実行
990デフォルトの名無しさん
2022/09/15(木) 12:53:39.30ID:EPORcPim それで、>>980さんは、解決したのでしょうか。
後は、埋めてしまいますよ。
後は、埋めてしまいますよ。
991デフォルトの名無しさん
2022/09/15(木) 12:54:46.51ID:EPORcPim992デフォルトの名無しさん
2022/09/15(木) 12:55:30.56ID:EPORcPim993デフォルトの名無しさん
2022/09/15(木) 12:55:52.67ID:EPORcPim994デフォルトの名無しさん
2022/09/15(木) 12:56:19.20ID:EPORcPim995デフォルトの名無しさん
2022/09/15(木) 12:56:42.68ID:EPORcPim996デフォルトの名無しさん
2022/09/15(木) 12:57:04.06ID:EPORcPim997デフォルトの名無しさん
2022/09/15(木) 12:57:29.87ID:EPORcPim998デフォルトの名無しさん
2022/09/15(木) 13:08:18.56ID:EPORcPim 埋め
999デフォルトの名無しさん
2022/09/15(木) 13:08:47.98ID:EPORcPim 埋め
1000デフォルトの名無しさん
2022/09/15(木) 13:09:27.18ID:EPORcPim また、いつの日にか、相まみえん。
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 761日 6時間 9分 1秒
新しいスレッドを立ててください。
life time: 761日 6時間 9分 1秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 自民 森山幹事長 消費税扱い“ポピュリズム政治は国がもたず” ★3 [少考さん★]
- 機動戦士ガンダム最新作『GQuuuuuuX(ジークアクス)』乃木坂46ネタで炎上 監督の鶴巻和哉氏は乃木坂ファン ★8 [Anonymous★]
- なぜ人は“飲食店でのスマホ注文”に不満を抱くのか?「通信料がかかる」「細かいカスタマイズができない」「LINE登録なんて絶対嫌」 ★2 [ぐれ★]
- 【芸能】マックのハッピーセット、おもちゃ目当てに食品を放置…大量廃棄の映像拡散 猪狩ともかも怒りの声「転売ヤー滅びて」 [ぐれ★]
- 反撃の中居正広、一世一代の大勝負へ 元フジ女性アナとは「合意の上での性行為だった」と認識 ★20 [Ailuropoda melanoleuca★]
- 【埼玉】川口市の路上で全裸が発生 小太りの年配男性だという [シャチ★]
- 【DAZN】フォーミュラGP【F1 F2F3 SF P】Lap1701
- Cycle*2025 サイクルロードレース総合実況17
- とらせん 4次会
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap107
- はません ★3
- やくせん
- 政治資金団体の贈与相続寄付は非課税👈これなんで非課税なの許されてんの [943688309]
- 【朗報】公務員の給与、4年連続で大幅アップ確定へ [604928783]
- 自民党のせいで日本が衰退してしまったという論法、日本人にかなり効果的と判明wwwwwwwwwwww [271912485]
- ▶原点回帰ホロライブスレ
- 【緊急】AI失業、マジで始まる ※日本人には関係ありません [159091185]
- 謎の人「大麻は安全だから。依存性無いから。」これ何なの? [237216734]