質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

981閲覧

Powershellでループ処理のようなものを動かしたい

serachaso

総合スコア20

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2019/04/18 06:35

前提・実現したいこと

バッチ・Powershellを触り始めて3か月程度です。

バッチから呼び出したPowershellでハッシュ値のチェックをしたい。
${env:FOLDER2}にはD:\test0103
${env:FNAME}にはtest01
03.txt
が入っています。

発生している問題・エラーメッセージ

手動で$a+=へ01~03を代入してからOut-Fileではハッシュ値が3行分出力される。
MD5 ハッシュ値 D:\test01\test01.txt
MD5 ハッシュ値 D:\test02\test02.txt
MD5 ハッシュ値 D:\test03\test03.txt
↑のようにテキストへ出力したいのですが
実際にバッチから呼び出すと最終行である
$a+→Out-File $a+→Out-Fileと動いてしまい,
MD5 ハッシュ値 D:\test03\test03.txt
のみしか出力されていない状態になっています。
全部出力させるにはどのような案がありますでしょうか。
遅延環境変数は入れていて,Write-HostでPath表示させるときちんと動いています。

$a= $b= $c= $a+$b+$c

という風に動かせば動くのですが,3つだったり4つだったりと,いつも同じ数字になるとは限らないので,いい方法をご教授願いたいです。

該当のソースコード

Powershell

1$a+=childitem -Path ${env:FOLDER2}${env:FNAME} | get-filehash -Algorithm md5 | Format-Table -AutoSize 2 3$a | Out-File "D:\Chk\SUM.txt" -Encoding UTF8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

Out-File "D:\Chk\SUM.txt" -Encoding UTF8 -Append でいけました。

投稿2019/04/18 08:20

serachaso

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まずは、「Powershell ループ」でぐぐってみよう

投稿2019/04/18 07:13

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

serachaso

2019/04/18 08:21

回答ありがとうございます。既にループではググっていましたが,自己解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問