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

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

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

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

バッチファイル

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

Q&A

1回答

2403閲覧

【PowerShell】「フォルダ内ファイルの圧縮→フォルダ移動→最古ファイルの削除」を日次で実行するスクリプトの不備解消方法について

Aki69

総合スコア1

PowerShell

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

バッチファイル

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

0グッド

0クリップ

投稿2022/05/09 08:17

編集2022/05/11 01:42

タスクスケジューラから日次で実行し、以下一連の処理を自動で実行するPowerShellスクリプトを作成しました。
元となるファイルが1種類の場合は問題なく動作したように見えますが、2種類以上の場合に上手く動作しません。スクリプトを記載致しましたので、修正案をご教示いただけると助かります。

<処理概要>
①フォルダA内のcsvファイルをzipで圧縮する
C:\folderA\aaa.csv → C:\folderA\aaa.zip
②圧縮したファイルをフォルダBに移動
C:\folderA\aaa.zip → D:\folderB\aaa.zip
③フォルダA内の元ファイル(未圧縮のcsv)を削除する
C:\folderA\aaa.csv
④移動先(フォルダB)に圧縮ファイルが11個以上あればタイムスタンプが一番古いファイルを削除
(常に最新10世代のみファイルが保管されている状態とする)

<作成スクリプト>

//フォルダA内のファイル名(拡張子なし)を取得 $src = Get-ChildItem -Name C:\folderA $file = [System.IO.Path]::GetFileNameWithoutExtension("$src") //①、②の処理 Compress-Archive -Path C:\folderA\*.* -DestinationPath C:\folderB\$file //③の処理 Remove-Item C:\folderA\*.* //④の処理 $a = (Get-ChildItem C:\folderB | ? { ! $_.PsIsContainer }).Count if($a -gt 10){ Get-ChildItem C:\folderB | Sort-Object LastWriteTime -Descending | Select-Object -Skip 10 | foreach{Remove-Item $_.FullName} }

よろしくお願い致します。

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

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

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

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

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

fiveHundred

2022/05/09 08:30

> どなたかサンプルスクリプトをいただけないでしょうか。 「コードを作ってほしい」は非推奨かつ低評価対象です。 https://teratail.com/help/avoid-asking スクリプトが欲しいだけなら、他を当たってください。
otn

2022/05/09 12:45 編集

それぞれの処理は、ググるだけでも方法が見つかるので、それらを組み合わせれば良いでしょう。 具体的な不明点が出てくれば改めて質問しましょう。
Aki69

2022/05/10 10:38 編集

規約を確認しておらず失礼致しました。 質問内容を修正致しましたので、ご回答いただけますと幸いです。
otn

2022/05/11 02:31

> 2種類以上の場合に上手く動作しません。 どうなるのでしょうか?「上手く動作しません。」では情報量ゼロです。 例:「~~という結果を期待したが、~~という結果になった」 あと、「種類」とは?
guest

回答1

0

残念ながら、ここではコードの作成依頼は受け付けていません

まずはあなたなりにコードを書いてみましょう。その上でわからないことを聞いていただければお答えできるかと思います。

投稿2022/05/09 08:45

y_waiwai

総合スコア87774

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

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

Aki69

2022/05/10 10:38 編集

規約を確認しておらず失礼致しました。 質問内容を修正致しましたので、ご回答いただけますと幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問