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


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

PowerShell -Part 6



1 名前:デフォルトの名無しさん mailto:sage [2022/02/13(日) 18:36:12.07 ID:LaQ04ZoE.net]
前スレ
PowerShell -Part 5
https://mevius.5ch.net/test/read.cgi/tech/1615994992/

次スレは>>980が立ててね!!

313 名前:デフォルトの名無しさん [2022/05/14(土) 18:19:29.97 ID:POYL5zWo.net]
<section id="image-test">
<a href="https://www~BBB.jpg">
<img src = "https://www~AAA.jpg">
</a>
</section>
があって、AAAとBBBのURLをそれぞれ変数にかくのうしたいのですが、これであってます?
$AAA = $web_source_code.getElementById("image-test").getAttribute("src")
$BBB = $web_source_code.getElementById("image-test").getAttribute("href")

314 名前:デフォルトの名無しさん mailto:sage [2022/05/14(土) 18:55:56.30 ID:QtW6yb+i.net]
合ってないよ
section要素にはsrcもhrefもないんだから取れない
子や孫の要素からイイ感じで取ってきてくれるような期待をしてるんだろうけど、内側がどんな構造でいくつのimg要素とかがあるのかわかんないんだから、そんなのでイイ感じに取られる曖昧な挙動は逆に困る
要素をid指定で取ったあと.ChildNodesで自分で辿ったりする必要がある
querySelectorが使えれば楽なんだけどね
何度も似たような質問を繰り返すよりもまずHTML DOMの基礎を多少でも勉強しないとずっとハマるだけだし応用もできないよ

315 名前:デフォルトの名無しさん [2022/05/14(土) 19:43:46.46 ID:POYL5zWo.net]
ありがとうございます。HTML DOMを勉強してみます。

316 名前:デフォルトの名無しさん [2022/05/17(火) 11:55:50.17 ID:w1KKtOUX.net]
PowerShellである処理について、変数の値だけ変えてそれぞれに同じ処理を実行したい場合、以下のように変数の値の数だけ実処理を複数段書けば実行できました。
ただ、これだとスマートではないと思いますので、ループ処理?のような形で最初に全変数を定義する等して、実際の処理自体は1か所だけにしたいのですが、どなたか書き方教えろください。。
------------
$変数a1 = 1-a
$変数b1 = 1-

317 名前:b

~~処理~~
------------
$変数a2 = 2-a
$変数b2 = 2-b

~~処理~~
------------
$変数a3 = 3-a
$変数b3 = 3-b

~~処理~~
------------
[]
[ここ壊れてます]

318 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 15:36:54.01 ID:VMMgADOG.net]
コンテナでググれ

319 名前:デフォルトの名無しさん [2022/05/17(火) 19:17:50 ID:ZA1GChKV.net]
ググれとか言う奴はスレから出ていけ

320 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 20:03:10 ID:xbjGOtM1.net]
配列でループ処理するといいぞなもし
https://docs.microsoft.com/ja-jp/powershell/scripting/learn/deep-dives/everything-about-arrays?view=powershell-7.2

321 名前:デフォルトの名無しさん mailto:sage [2022/05/18(水) 03:24:17.13 ID:CLYU5EG2.net]
こんな初歩の初心者にpowershellの配列は難しい気がする
別の規格がちゃんとしてる言語を1つでも履修して出直してもらいたいな
プロの俺でもフィルタ関連とか関数から返した場合とかでしょっちゅう間違えるんで…



322 名前:デフォルトの名無しさん mailto:sage [2022/05/18(水) 09:11:28.21 ID:b9KxG2vQ.net]
ベテランでも諳んじて一発正解するのは難しいかったりするけど、シェルなんだから試行錯誤で構造化プログラミングの感覚を摑めばいいと思うよ
固定長配列でハコとして使う分には落とし穴もそうないのでは
パイプは使うかもしれないし使わないかもしれない
せっかくの気付きなんだから試してみるチャンス

323 名前:デフォルトの名無しさん mailto:sage [2022/05/18(水) 10:26:21.69 ID:Q05gEBgM.net]
まずforeach文で作ってみればいい、そんな難しくはない

foreach-objectとかのコマンドレットにしたい、てのは次の段階にしてみよう

324 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 01:52:14.72 ID:r92G1leA.net]
.NETのジェネリックなコレクションを使う癖を付ければpsの変な仕様に振り回されないで済むかも

325 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 10:22:09.77 ID:hhrIPFsF.net]
そもそも配列やコレクションをループで回したりするのはPowerShell的な発想ではない
積極的にパイプを使うんだよ
それに馴染めないならもうインラインでC#書いたほうがいい

326 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 11:54:46.82 ID:AWcD8iuw.net]
初学者がパイプの意味を理解するのはハードル高いと思う
コードが長くてもいいから自分のやりたいことをロジックにして組み立てる
それも出来ないうちからパイプでかくなんてさらに混乱するだけ

コマンドレットを見てすぐ処理を想像できるような慣れてる人ならいいと思うけどね

327 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 12:11:52.45 ID:vDWzHeJO.net]
>>320
ドトネトのコレクションはそのままパイプに突っ込めるでしょ
powershellのビルトイン配列(System.Array)をMS公開文書通りに使ってるとハマりやすいという話

328 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 12:19:41.05 ID:HGJ493WX.net]
初心者ですでにスクリプトも書いていてリファクタの相談なのに、パイプ使わないならC#でって…
原理主義なのか話を聞かない人なのか柔軟性が動脈硬化起こしてる人なのか

329 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 14:36:52.46 ID:mIjloFOo.net]
パイプに拒絶反応してる奴らがわらわらとw

330 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 15:37:07.78 ID:i7u7qPJB.net]
PowerShellのパイプはクセあるからなあ

331 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 15:57:51.90 ID:K1O9Nfx2.net]
だが、そこが良い



332 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 16:21:27.92 ID:vDWzHeJO.net]
ドトネトのコレクションはPS的には未知の参照型オブジェクトだから
PSのスコープの影響も受けないし、
配列みたいに勝手に構造を壊されたりもしないから積極的に使う事をお勧めしたい

333 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 17:15:25.08 ID:z1zzxM54.net]
>>324
いや俺はpowershellのパイプは好きだぞ
反応頭悪すぎない?

334 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 17:16:58.08 ID:z1zzxM54.net]
ID変わったけど323=328な
好きなものを無条件に全肯定しないと則敵認定ってまさに信者やん

335 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 15:12:12.74 ID:rcI504Fo.net]
-pv/-ovで黒魔術できるのがpwshパイプの真骨頂、汚いけど…
パイプは一般にバッファ単位の目詰まりが難だけど、これは-obで自由に調節できる
-pv/-ov/-ovは共通パラメータだからいつでも使えるしpitfallsは大体これで解決できるからパイプ活用したいなら、最重要で覚えるべし

336 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:50:08.65 ID:8qofalUL.net]
>>330
パイプで最重要で覚える事はさあ、パイプはめっちゃコストコが掛かる書き方だな!って理解することじゃないかなあ
1行ずつ読んでパイプに渡してたら日が暮れるし…ずっとパイプの中で暮らさないといけない程変な言語でもない…
あっこの処理、パイプで連携したら効率いいかも…なんてあんまないのでな
これがパイプの真骨頂!って例を見せてくれたら、まあ考えを改めてもいいが…君の発言は新しいもの好きの勇み足発言にしか見えなくて痛々しい…

337 名前:デフォルトの名無しさん [2022/05/20(金) 20:56:56.50 ID:zxJBX/+G.net]
PowetShell大好きパイプ大好き
可能な限りパイプを使うように努めてるよ

338 名前:デフォルトの名無しさん [2022/05/20(金) 20:58:03.25 ID:zxJBX/+G.net]
ちょっと間違えちゃった

339 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 21:00:45.78 ID:slL0jKxc.net]
アホらし
C#と同じように書きたいならAdd-TypeでC#書けばいいでしょ

340 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 21:52:53.66 ID:XK9Y5vcV.net]
俺はバイブの方が好き♡

341 名前:デフォルトの名無しさん mailto:sage [2022/05/21(土) 04:11:37 ID:xI11xSxR.net]
結局どんな言語や書き方であろうと慣れでしか無い
読み辛いとか言う奴の大半が適応力やワーキングメモリの低い低能



342 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 14:10:16.59 ID:KYl341LT.net]
2つ以上のcsvをできる限り簡単に結合する方法ありますでしょうか。

a.csv
id,name,gender
以下データ

b.csv
address,phone
以下データ

$firstcsv = a.csv
$secondcsv. = b.csv
$ketugou = connect-csv -delimiter ',' firstcsv[0] + firstcsv[1] + $secondcsv[0] + $secondcsv[1] + firstcsv[2]

$ketugou
id,name,address,phone,gender
以下データ

という感じであれば最高です。

343 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 15:56:20.58 ID:2VGP7oaH.net]
bash -c "paste -d , a.csv b.csv"

344 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 18:24:56.01 ID:maoDzYC5.net]
カラムの順序指定もしたいみたいだから、cutとかでもう1処理いるね。

PowerShellだと
(>>338) | ConvertFrom-Csv | select id,name,address,phone,gender | ConvertTo-Csv
ただしConvertFrom-Csv・ConvertTo-Csvは
元データを正確に再現する必要がある場合には難あり。
(Trim()が掛かるとかダブルクォーテーションで括られるとか。)

345 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 18:27:45.99 ID:maoDzYC5.net]
paste使えない環境とか、Trim()掛かると困るとか、PowerShellだけで実装したい場合
function Merge-Csv {
  Param (
    [Object[]] $InputObject,
    [string[]] $Header,
    [char] $Delimiter = ','
  )
  $tbl = [Data.DataTable]::new()
  # 1行目をカラム名として使用
  foreach ($csv in $InputObject) {
    $tbl.Columns.AddRange(($csv[0].Split($Delimiter)))
  }
  # 各CSVの同じ行同士をDataRowにする。
  for ($lineIdx = 0; $lineIdx -lt $InputObject[0].Length; $lineIdx++) {
    $rowData = @(
      foreach ($csv in $InputObject) {
        $csv[$lineIdx].Split($Delimiter)
      }
    )
    $null= $tbl.

346 名前:Rows.Add($rowData)
  }
  # カラム順序を指定順序に変更する。
  for ($order = 0; $order -lt $Header.Length; $order++) {
    $tbl.Columns[$Header[$order]].SetOrdinal($order)
  }
  # CSV形式で出力
  foreach ($row in $tbl.Rows) {
    $row.ItemArray -join $Delimiter
  }
}
[]
[ここ壊れてます]

347 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 18:28:27.86 ID:maoDzYC5.net]
注意:
・CSVは1行1要素の配列で、1行目にヘッダがあり、データに区切り文字を含んでいない想定。
・各CSVのヘッダに重複はない想定。
・1つ目のCSVの行数を基準にしている。
・エラーチェックしてないので適宜追加すること。

例:
$csv1 = @(
@"
id,name,gender
csv1.r1.id,csv1.r1.name,csv1.r1.genger
csv1.r2.id,csv1.r2.name,csv1.r2.genger
csv1.r3.id,csv1.r3.name,csv1.r3.genger
"@ -split '\r?\n'
)
$csv2 = @(
@"
address,phone
csv2.r1.address,csv2.r1.phone
csv2.r2.address,csv2.r2.phone
csv2.r3.address,csv2.r3.phone
"@ -split '\r?\n'
)

Merge-Csv $csv1, $csv2 -Header id, name, address, phone, gender | ConvertFrom-Csv | ft -a

id     name     address     phone     gender
--     ----     -------     -----     ------
csv1.r1.id csv1.r1.name csv2.r1.address csv2.r1.phone csv1.r1.genger
csv1.r2.id csv1.r2.name csv2.r2.address csv2.r2.phone csv1.r2.genger
csv1.r3.id csv1.r3.name csv2.r3.address csv2.r3.phone csv1.r3.genger

348 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 19:20:10.32 ID:KYl341LT.net]
>>338-340
ありがとうございます!
書き起こしてくれるなんて、感謝のしようがありません・・。
少し読み解くのに時間がかかりそうですが、半日考えても良い手が思いつかなかったので
しっかり読んで身に着けたいと思います。

ありがとうございました。

349 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 23:48:36.53 ID:MBI5r2Hn.net]
割とちゃんとした風なのが出てきてよかったな
>>337の結合は別にCSVとして処理する必要ねーじゃんと思ってたわ

350 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 22:45:36.14 ID:5eMIb3Vr.net]
どこでみんな基礎を習得してるか気になる
都度ネット検索して見よう見まねでやってるけどちゃんと体型立てて学んだ方が良い気が最近してる

上のcsv解決の発想だって全然出てこないもの

351 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:00:34.01 ID:1p0oXEXT.net]
PowerShellから入る人なんていないでしょ
初学者がPowerShellでまともなプログラミングを学ぶのは難しいからC#でもやった方がいいよ



352 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:03:23.68 ID:6thXMpkz.net]
薄々そうじゃないかと思ってた
やっぱC#行くべきなのね

353 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:08:03.98 ID:fHLpS2ag.net]
>>345
C#もJavaも含めてほぼプログラム言語扱えない非プログラマーだけどPowershellは普通に学習出来たよ

354 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:14:06.95 ID:5eMIb3Vr.net]
会社では追加基本インストール禁止だから使える自動化ツールがVBA、WSH、CMD、Powershell くらいしか無いのです
VBA VBSは一通り使えるけどやっぱモダンなの使いたいって事でpowershellを使いこなしたいんですよ

っていうパターンは自分以外にもきっといるんだろうなって思って

355 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:14:46.76 ID:0w3w2Q9u.net]
>>347
どうやって学習した?

356 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:16:19.58 ID:bPn6KqG1.net]
どの言語を学んでも解決ロジックなんかは数をこなして他人のソースサンプルを見るとかしていかないと見につかない
C#とか言語仕様は入門書が充実してるところが違うだけで読んだからといって
問題解決力が身につくわけではないことは心得ておかないとね
教科書を全部読んだからといって入試問題が解けるか?ってこと

357 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:16:45.35 ID:0w3w2Q9u.net]
>>348
>会社では追加基本インストール禁止
そうさせましょう、そのために弊社の何とかを使いましょう、と営業してくるウザい連中がいるからね

358 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:29:45.91 ID:ArE2 ]
[ここ壊れてます]

359 名前:ZMbw.net mailto: >>348
プライベートのPCでやればいい
プロでプログラミングやってる人間は学生時代やプライベートの時間など多かれ少なかれ仕事以外の時間を捧げてるんだよ
基礎から学ぶというのはそういう連中と同じ土俵に立つってことだ
[]
[ここ壊れてます]

360 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:38:38.76 ID:fHLpS2ag.net]
>>349
MS365関連の処理やらcmdスクリプトの代替やらログ処理やらを目的に応じてパイプ処理やら勉強してたらどうにかなった
元々プログラム言語としての習得したんじゃないから特殊かも

361 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:38:47.91 ID:5eMIb3Vr.net]
方法論を聞いてるのに精神論を語る奴っているよね



362 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:49:53.74 ID:+PNdSWJO.net]
普通にpwsh使ってコマンドライン作業してれば覚える
スクリプトもその延長線上

363 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:54:36.28 ID:9dnvWkql.net]
いうほど精神論説いてるやついる?
〇〇論を聞いてるのに〇〇論を、そういう気の利いたフレーズを言ってみたい気持ちが先行してるように見える

364 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 23:57:11.82 ID:NR5IHQxQ.net]
本腰入れて文法とかほじくりたいならまずはpowershellexplainedってブログオススメ

365 名前:デフォルトの名無しさん mailto:sage [2022/05/31(火) 00:32:11.60 ID:eW10AB/z.net]
やりたいことが先にあって、それを如何に良く実現するかをあれやこれや試行錯誤していくのがいいよ
漠然と習得したいとか体系的にとかやってると漠然としか身につかない
あと人のものをよく見ること
こういうやり方があったのか、ってのを一つでも多く体験するのがいい

366 名前:デフォルトの名無しさん mailto:sage [2022/05/31(火) 00:43:09.74 ID:z7NqqS3T.net]
コマンドラインで補完叩きながら必要そうなパラメータやメンバ探してれば大体望みのものが見つかるはず
フラッシュ暗記的にどこに使えそうなものがあったか思い出せればヘルプも引ける

俺がワンライナー以上の事をするときの具体的な手順
必要そうな関数を一つ定義してはパラメータ与えて何回かチェック、動けばfunction:から追記リダイレクトして最後にvimで手直ししてmainを添えて取り敢えず動くものを完成
暇なときに気が向いたら体裁整えたり関数まとめたり構造化

副産物として汎用性高そうなの出来たら$profileにも追記

こういうlisp的なサイクル回して使っていくのがいいと思う

367 名前:デフォルトの名無しさん mailto:sage [2022/05/31(火) 00:43:37.67 ID:BZqNx7Tc.net]
>>357
ありがとうございます
髭のオッサンは気になりますがチラ見した程度だと復習がてら良さそうです

368 名前:デフォルトの名無しさん mailto:sage [2022/05/31(火) 23:10:25.48 ID:OuANH9gG.net]
このコマンドがうまく動きません。
1行で書いて、うまく動かす方法を教えてください
powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process remove-item -ArgumentList C:\Users\Public\Desktop\test -Verb runas"
Start-Process : このコマンドは、次のエラーのため実行できません: 指定されたファイルが見つかりません。
とエラーが出て正常に実行できません。

powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process cmd -Verb runas"
powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process notepad -ArgumentList C:\Windows\System32\drivers\etc\hosts -Verb runas"
このコマンドはうまく動くので、同じ感じで行けるのかと思ったのですが、上のremove-itemコマンドの場合がうまくいきません。

369 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 04:00:12.01 ID:U+A7iBPz.net]
remove-item.***なんて言う実行ファイルは存在しないから無理なのは当たり前
どうしてもstart-processに繋げないといけないの?

370 名前:361 mailto:sage [2022/06/01(水) 05:21:30.48 ID:lJWk1HAY.net]
>>362
レスありがとうございます。

> どうしてもstart-processに繋げないといけないの?
というわけではありません。

1行で管理者権限でRemove-Item C:\Users\Public\Desktop\testを実行する
ということが出来れば、どんな方法であっても構いません。

①powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process powershell -Verb runas"
②Powershellが管理者:Windows Powershellとして起動する。
③remove-item C:\Users\Public\Desktop\test を実行する

という①と③を1行でまとめる方法です。

371 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 11:08:03.91 ID:yxFCK4Jy.net]
>>363
自分もこの問題は解決出来なかった
UAC有効な環境で管理者権限使うならStart-processか管理者権限実行なのも一緒
しかしStart-processはコマンドレット実行出来ない模様

ワークアラウンドで別のcmdスクリプト作ってそいつをStart-processで実行させるという非スマートな力業でどうにかするしかなかった



372 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 11:27:22.75 ID:HV/k13ls.net]
powershell -NoProfile -ExecutionPolicy unrestricted -command "Start-Process -Verb runas -FilePath powershell.exe -ArgumentList ‘-command remove-item C:\Users\Public\Desktop\test'"
試してないけどこんな感じで出来ん?
不備とかエスケープ処理が必要だったりとかあるかも
powershellから昇格させたpowershell呼んでそこでdel

373 名前:デフォルトの名無しさん mailto:sage [2022/06/02(木) 00:03:43.97 ID:B9Goniqn.net]
>>365
出来ました

374 名前:361 mailto:sage [2022/06/02(木) 00:05:13.65 ID:B9Goniqn.net]
>>365
出来ました!ありがとうございます!

375 名前:デフォルトの名無しさん [2022/06/04(土) 17:47:37 ID:TSmSPUgr.net]
定義した変数のメモリ開放は$nullの代入でいいのでしょうか?
メモリリソースが足りませんとエラーがでるので。

376 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 18:56:11.76 ID:IRaDT1CY.net]
Remove-Variable
まあ設計を見直した方がいいと思うけど

377 名前:デフォルトの名無しさん [2022/06/04(土) 20:19:25 ID:TSmSPUgr.net]
ありがとうございます!

378 名前:デフォルトの名無しさん [2022/06/18(土) 20:04:49.41 ID:2rZBula1.net]
フォルダ内にあるすべての画像ファイルにおいて、その画像のWidthが1280のものだけを削除するスクリプトを作成中ですが、ファイルはどうやって削除するのでしょうか?

Get-ChildItem "D:\Download\test" | Sort Name | % {
$img = [System.Drawing.Image]::FromFile($_.fullname)
if ($img.Width -eq 1280) {
Remove-Item $_
}
}
だと
Remove-Item : Cannot find path 'D:\Download\test_01.jpg' because it does not exist.
とエラーがでるのですが、パスの設定方法がいまいちわかりません。

379 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:44:46.51 ID:opzT6/bZ.net]
Remove-Item $_.FullName

$_ | Remove-Item
かな

380 名前:デフォルトの名無しさん [2022/06/18(土) 20:51:53.83 ID:2rZBula1.net]
ありがとうございます。やってみます!

381 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 00:03:25.24 ID:d/5y1flf.net]
VSCode でも、コマンドプロンプト・PowerShell を使うと、
ファイル・フォルダ操作のアクセス権限が無いから、
右下のトーストに、そういうエラー通知が来る

そこで、アプリに対して、操作を許可する

それと、Windows でもファイルパス区切りに、/ を使える。
C:/Users/Owner/Documents/a.txt



382 名前:デフォルトの名無しさん [2022/06/19(日) 18:24:35.04 ID:xfiYTNc0.net]
今までこれをbatで起動させていました!
-------
sc stop DoSvc

@echo off

echo.
echo ====================
echo Enable_TaskScheduler
echo ====================
echo.

rem ----- win10_ServicePreparation_DoSvc -----
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc" /v "Start" /t REG_DWORD /d "4" /f

exit
-------
特定サービスの作動強制停止およびスタートアップ強制置換です
しかしこれでは管理者権限を付与する場合、人間がコンテキストで管理者実行をその都度選んでやらねばならず、
反映の有無も再起動が必要だったり再起動なしで切り替わったり不安定です

PowerShellのps1はそれら管理者権限付与の自動化や再起動不要が可能と聞きました
ネットにはバッチのような記述解説サイトが乏しいので、コードの代替案、またはおすすめの参考書等があれば教えてください〜

383 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 19:51:13.64 ID:k543CSlC.net]
mevius.5ch.net/test/read.cgi/tech/1597442426/857

384 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:46:16.09 ID:WW6NzJIS.net]
サービスを削除でぐぐれ

385 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 08:42:33.76 ID:sIvuqcVm.net]
レジストリを直接編集するな

Windows 秘話: なぞのキー
https://docs.microsoft.com/ja-jp/previous-versions/technet-magazine/dn456530(v=msdn.10)
> 変更または操作されることがまったく意図されていない設定が存在します。そのような設定を見つけたときには、とにかくそっとしておいてください。

386 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 08:48:02.21 ID:3bt1t/j5.net]
それはメーカーが分解すんなって言うのと同等の話

387 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 10:58:01.21 ID:4+IWkf9p.net]
目的がテレメトリ関連の通信の遮断だしサービス削除しかないと思うけどな

388 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:48:20.89 ID:LhK9JJfo.net]
Stop-ServiceやSet-Serviceあたり使えばいいんじゃね

389 名前:デフォルトの名無しさん [2022/06/20(月) 12:50:56.18 ID:E6UoKUAB.net]
ハード的家電において、メーカーの分解拒否声明は「簡単に直せる部分を民間でやられたら業績下がるやんけ」理論が殆どと、感電・火災防止が少しって感じ
同じくソフトにおいても、メーカーの調整拒否声明は「テレメトリを拒否されると情報転売が減って業績下がるやんけ」理論がほぼ全てで、僅かに不測の事態とその対応への危惧(面倒≒ユーザー側の心配はしていない)が含まれる感じ

大体、テレメトリの最終的な購入先は巡り巡ってそれらを利用したがっているガチ支那チョン露などの反社集団でしょうに
だから米国大手の支那癒着や制裁緩和の声が消えないわけで
例え吸われても、利用先が日本国内または米国のみであればそんなに問題視しませんわ

逆にDoSvcなんかは設定での表面上なOFFやグルポをしようと内部でMB単位のダウンロードをしっかりしていますし、
DoSvc動作用の基礎データか何かと期待したいものの時間経過で増大します→つまり120%ガチテレメトリなんですよ
そしてスタートアップを無効にしなければOS設定にかかわらず強制実行+勝手に通信+削除しようと復活増量し続ける
無効にしたスタートアップさえ手動(トリガー)へ勝手に戻される→高頻度自主改変がなければOSから「DoSvcの無い空間」を作り出せない

こんなソフトの癌とも言えるものを放置出来る方々の無神経さは平和の極みですな
安いからっつって支那産PCを大量購入し自衛隊へ配布した馬鹿で愚かな国賊官僚と同レベルに思う

390 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:23:54.66 ID:XSN9SiQv.net]
>>375>>382 でいいのかな
テレメトリを目の敵にするのは勝手だけど
だからってレジストリを直接編集していい事にはならないからね

391 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:47:00.73 ID:YswTafv8.net]
会社の物とかでなければレジストリくらい好きに弄ったらいいだろ
それで何かあっても自己責任ってだけで



392 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:58:58.89 ID:h1SesB6c.net]
レジストリ編集では期待通りにいかないことを体験的に踏まえた上で上手くいく手順としてPSでやりたいって流れの質問なのにレジストリ編集するな!ってクソバイスやん
自己責任を理解せずに杓子定規で正しさを主張し続ける人にはアレな傾向を感じざるを得ない

393 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:20:32.49 ID:4G+nodK/.net]
batはレジストリの値を弄ってるのみにしか見えん
この後にPCを再起動でもさせるのか?

394 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:32:06.62 ID:JJsUxIz5.net]
だいぶ前から色んなところで聞いているけど
タスクマネージャーで権限がないから書き込めないとか
黒窓が出るのが嫌だとか
原因を追求する気もないのに聞いて回るクソヤロウだよ

395 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:46:09.48 ID:3ZXlTK7A.net]
>>378
レジストリの変更はともかく
この記事の「おしゃれなレストランにいると考えてみてください」
という謎の例えはどうかと思うw

396 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 17:32:51.93 ID:6RdOG7wm.net]
>>386
弄ってるよ
その続き読んだ?
引き続きレジストリ弄りたがってるとしか読めないならアスペかもな

397 名前:デフォルトの名無しさん [2022/06/20(月) 18:28:34.00 ID:E6UoKUAB.net]
バッチスレは論外ですな
batやスケジューラの挙動に関して最初から細かく説明していたのですが、どう考えてもガチ支那の五毛っぽいDQNが私の最後のレスを部分的にチラ見しただけで、答えている感じでしたね^^;
冷やかしがオナニーしている状態で、バッチスレの名が泣いていました

原因も提示し、それら打開策などの例や実施結果を挙げつつも、堂々巡りの、それもむっちゃ浅い既出内容をドヤ顔で書き込まれる感じ
バッチスレで唯一のプログラミングスレらしい収穫は「俺だったら.ps1で作る」という言葉、ただひとつのみでしたわorz

あとはなかなかまとまった時間が作れず、もう少ししたらps1版のサービス削除などもネット検索・吟味できそうです

最も盛んでしたwinXP時代にソフトを制作していた年代は今50前後?で開発・更新停止などが相次いでいますよね
そんで2022年現在、高校辺りでプログラミングを必修とする云々が出ている
間が20年くらいスッカラカンなのは日本の経済力低迷を表しているようで大変残念です
そりゃ今の官僚層が自衛隊へ支那産PC送ったりするはずですわ、そんなのが国を回しているんだから^^;

398 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:16:43.25 ID:+SBlN13D.net]
直接編集しちゃいけないなんてルールはないから好きにしな
無知が無学のまま弄った責任を負わされることを防ぐためのおまじないでしかないよ

399 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:23:12.95 ID:ItZjQb2L.net]
行き着いた答えがレジストリ書き換えの定期実行だから頭悪いにも程がある

400 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:31:17.15 ID:yjTGWQu/.net]
俺はちゃんとバッチスレにサービスの設定を変えるコマンドの事書いたぞ
コマンドのドキュメントのリンク付きで

このスレでも他の人が設定変更用のコマンドレットのこと書いてるし
何をどう見てるのやら

401 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:24:09.27 ID:4G+nodK/.net]
レジストリなんて不整合があれば書き戻されることもあるのでレジストリ弄るだけで解決しない



402 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 00:22:01.55 ID:KK61fTqr.net]
てかバッチスレが余りにも低水準かつ五毛全開だったからこそ呆れ、唯一のまともなアドバイスに従ってパワシェへ切り替えようとしているのにさ

わざわざ別スレのリンク貼ったりパワシェスレへ出張(笑)してきたり、ほんま意味不明ですわw

ま、ストーカー云々の類いはリアルもネットも気色悪いですしバッチスレ関係者から得られるものが無いのも経験済み
似た主題なので両方のスレを高頻度で訪問しているのかな、そう思うことにして特定のレスは流し聞きしときますよwww

403 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 00:36:09.32 ID:xELEw2uC.net]
Linux なら、systemd とか

Windows の仕組みは知らないけど、
レジストリはその結果を収めたデータベースだから、
結果をいじっても問題解決にはならない

設定は各アプリ製作者が作っているものだから、
製作者以外の人間にできる事は、アプリをアンインストールする事だけ

設定にも様々な依存関係があるから、
アプリの内容も分からない人が、ある設定を変えても、どう作用するか分からない

例えば、アプリのメモリが解放されなくなって、
他のアプリも動かなくなるかも

それに設定を変えても、再起動しないと有効にならないかも知れないし、
再起動すると、設定が元に戻るかも知れない

OS 起動時の処理に、設定読み込みを登録しているかも知れない

404 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 09:15:38.14 ID:lQ/zAxwG.net]
ウダウダと一体何の話をしてるんだ
いいからStop-ServiceとSet-Service使えよ
ただ老人がじゃれ合いたいだけなのか?

405 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 11:49:55.72 ID:+f2eC/vV.net]
こんな辺境にまでやべーやつ | Out-Null

406 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 20:51:18.50 ID:At4JlVSH.net]
>>375
管理者やSYSTEMじゃなくてTrustedInstallerとして実行しても駄目か?
もちろんレジストリをいじるんじゃんなくてSet-Serviceを使うんだぞ
もう見てないかもしれんが

407 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 22:28:41.71 ID:OsaOMnRZ.net]
わざわざ召喚しようとする馬鹿発見伝

408 名前:デフォルトの名無しさん mailto:sage [2022/06/24(金) 13:29:04.40 ID:VuoDyj+3.net]
最近foreach文のコレクションの要素を受け取る変数の名前をつけるのが
めんどくさくって
for文のカウンター変数の名前に i を使うのはよくありますが
foreachにも同じような定石ってありますか?

409 名前:デフォルトの名無しさん [2022/06/24(金) 13:47:20.90 ID:4Qrsm7mD.net]
aオブジェクト名

410 名前:デフォルトの名無しさん [2022/06/24(金) 14:25:06.98 ID:K2we1Lar.net]
e

411 名前:デフォルトの名無しさん mailto:sage [2022/06/24(金) 20:56:03.77 ID:EMaN3eAt.net]
Item



412 名前:デフォルトの名無しさん mailto:sage [2022/06/24(金) 23:55:58.07 ID:/S8ogjuv.net]
item, element

413 名前:デフォルトの名無しさん [2022/06/26(日) 07:43:19.31 ID:G39l7ngg.net]
例えば$url = "https://yyyy.xxx/aaa/bbbb/2/"があり、最後の[2/]をカウンタを使ってアクセスしたいとおもいます。
その際、$nextUrl = ($url -replace ".{2}$") + $cnt + "`\"
で行けると思ったのですが、何か間違えていますでしょうか?






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

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

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