• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:簡単なPowerShell)

Windows10のPowerShellで簡単に翌日の日付のフォルダを作成する方法

UY-Scutiの回答

  • UY-Scuti
  • ベストアンサー率82% (14/17)
回答No.3

PowerShell をバッチファイルから実行すれば楽だと思いますが(ダブルクリックで出来るし)・・・。 下記をバッチファイルとして実行。 powershell -c "exit (Get-Date).AddDays(+1).ToString('yyyyMMdd')" md "C:\xxx\%errorlevel%"

HOKKAPOKKA
質問者

補足

かなり希望に近いものですが、実行してできたものは c:\xxx\35439 でした。c:\xxx\20220527 ではありませんでした。 どこから35439 ?

関連するQ&A

  • PowerShellでフォルダを削除できない・・・

    [PowerShell]で作成されてから90日以降のフォルダとファイルを削除したいのですが・・・フォルダの削除がうまくいきません・・・ Script Guyを参考に、 $a = Get-ChildItem C:\Scripts foreach($x in $a) { $y = ((Get-Date) - $x.CreationTime).Days if ($y -gt 90 -and $x.PsISContainer -ne $True) {$x.Delete()} } これでC:\Scripts配下のファイルを消すことができることがわかったのですが、C:\Scripts配下のフォルダを削除する方法がわかりません。 なぜこれだとファイルしか消えないのでしょうか? 対象のフォルダにはいっぱいファイル数がありかつファイルサイズもそこそこあります。 PowerShellを動かした時にマシンにかかる負荷を極力抑えたいと思っています。 (なのでループで対象日付のファイルを拾い消し→次にフォルダと考えています。負荷低減になっていますでしょうか?) 詳しい方教えていただけませんでしょうか?

  • PowerShellについて

    PowerShellについて 以下の構文ですが、これは、Cドライブ配下のフォルダを取得し、 アクセス権を取得しCSVに吐き出す処理のようですが、このCSVは どこにはきだされるのでしょうか? ? Cドライブで実行してみましたが、何もファイルが作られていないようです。 Get-ChildItem c:\ -Recurse | Get-ACL |Export-Csv c:ACL-List.csv

  • フォルダをコマンドで自動的に作りたい

    Windows10のコマンドプロンプトから、コマンドもしくはバッチファイルで、ディレクトリを作りたいのですが、本日の日付の翌日の日付をyyyymmdd の形式で表した名前のフォルダを作りたいです。 例えば、本日が2022年5月25日であれば、コマンドとして md 20220526 を自動生成したいです。 可能でしょうか?

  • PowerShell7で圧縮したファイル名文字化け

    PowerShell7で圧縮したファイル名が文字化けします。 siftjisとutf8の絡みだろうとは思いますが、回避方法が分かりません。 『C:\test\folder1』の中身を全て『C:\test\File_yyyyMMdd-hhmmss.zip』というファイルに圧縮するスクリプトが以下。 $STR_DATE=Get-Date -Format "yyyyMMdd-HHmmss" $FPF_ZIP="C:\test\File_" + $STR_DATE + ".zip" Compress-Archive -Path C:\Test\folder1\*.* -DestinationPath $FPF_ZIP 『C:\test\folder1』の中身にか下記のファイルが入っています。 新しいテキスト ドキュメント.txt 新規 OpenDocument 表計算.ods 圧縮して、それを解凍したらファイル名が文字化けします。 譁ー縺励>繝・く繧ケ繝・繝峨く繝・繝。繝ウ繝・txt 譁ー隕・OpenDocument 陦ィ險育ョ・ods これを回避する方法を教えてください。

  • PowerShellでファイル存在確認するとき

    PowerShellについて勉強中です。 現在、日付を取得したものをファイル名にしてログファイルを作成し、そこに、その日の実行したスクリプトの結果が追記されていくようにしたいのですが、新規にファイルを作成した時には、当然問題がないのですが、new-itemを使用したため、すでにフォルダがありますとエラーになってしまいます。 ログファイルを作成する部分と、スクリプト実行の部分を分けずに、ひとつのps1にしなければなりません。 そのため、if文などで分岐をする必要があると思うのですが、ログのファイル名が日付を取得するので、このような場合、どう記述するものなのか、教えていただければと思います。 日付を取得してファイルを作成したところまでを、下に書きます。 よろしくお願いします。 Function GetFileName([ref]$fileName) #日付を取得してログファイル名に設定する { $invalidChars = [io.path]::GetInvalidFileNamechars() $date = Get-Date -format yyyy/MM/dd $fileName.value = ($date.ToString() -replace "[$invalidChars]","-") + ".log" } $fileName = $null #ログファイルをc:\shareに作成する GetFileName([ref]$fileName) new-item -path c:\share -name $filename -itemtype file この下に、実行するバッチの起動などのスクリプトが続きます。

  • PowerShellのスクリプト実行について

    PowerShellのスクリプト実行について PowerShellの勉強をしていますが、スクリプトを実行できません。。。 なんか、スクリプトの環境変数を設定するようですが、どこにも 設定方法がないです。。。。 もちろん、Set-ExecutionPolicy Unrestrictedは実行してあります。 以下日付と時間を表示するだけのスクリプトです。 ---------test.ps1--------- get-date get-time ---------------------------- スクリプトファイルの置き場所 ⇒ C:\script-test\test.ps1 ちなみに、スクリプトファイルを置いたディレクトリに移動して 実行しても、以下のようなメッセージが出て実行できませんでした。。 用語 'C:\script-test' は、コマンドレット、関数、スクリプト ファイル、または操作 可能なプログラムの名前として認識されません。名前が正しく記述されていることを確 認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してく ださい。 発生場所 行:1 文字:15 + C:\script-test <<<< .\test.ps1 + CategoryInfo : ObjectNotFound: (C:\script-test:String) []、Comma ndNotFoundException + FullyQualifiedErrorId : CommandNotFoundException どなたかご教授下さい。

  • Powershell 2.0 にPSJob系のコマンドレッドがないのはなぜ??

    こんにちは Powershell2.0からGet-PSJob Start-PSJob等PSJobのコマンドが追加されたみたいですが、小生のXP sp3とWindows2003 にPowershell 2.0をインストールしましたが、Get-PSJob Start-PSJob等のコマンドがありません。 PSJob等のコマンドはどうすれば使えるか教えてください。 バージョン: PS C:\Documents and Settings\hitachi> $PSVersionTable Name Value ---- ----- CLRVersion 2.0.50727.3053 BuildVersion 6.0.6002.18111 PSVersion 2.0 WSManStackVersion 2.0 PSCompatibleVersions {1.0, 2.0} SerializationVersion 1.1.0.1 PSRemotingProtocolVersion 2.1 PS C:\Documents and Settings\hitachi> $host.version.tostring() 2.0

  • PowerShell ファイル連結&出力方法

    PowerShellについてお教え下さい。Cドライブ直下に100のCSVファイルがあります。ヘッダーがある為、全CSVファイルの2行目以降を連結させて1ファイルを作りたいと思っています。 そこで下記のようなスクリプトを書きました。 Get-ChildItem $path | % {Get-Content $_ | Select-Object -Skip 1} > xxx.csv しかし、xxx.csvにデータは出力されるのですが、ループ状態に陥ってしまいファイル容量がどんどん増えていってしまいます。これを解決するにはどのようにしたらよいでしょうか? よろしくお願いします。

  • FTPのバッチファイルで日付を引数で与えたい

    いつもお世話になっております。 FTPのバッチファイルに引数を与える良い方法をご存知ありませんか。 FTPの中では環境変数は使えないとのことですし、悩んでいます。 取得するファイルは日付毎のディレクトリに入っていて、取得後も日付毎のディレクトリに保管するので日付の指定が必要なのですが。 [ftpget.bat]------------------------------------------ ftp-s:ftpget.bat open ホスト名 ユーザー名 パスワード bin prompt cd /~対象ホストのディレクトリ~/YYYYMMDD/host1 !mkdir C:\YYYYMMDD lcd C:\YYYYMMDD mget *.txt quit ---------------------------------------------------- このYYYYMMDDの部分を、『ftpget.bat 20081125』のようにバッチを流す時の引数で与えたいです。 日付は3日前だったり昨日だったり今日だったりします。 今は直接ファイルを編集してYYYYMMDDの部分3箇所を手で直してからバッチファイルを叩いています。 よろしくお願いいたします。

  • PowerShell try~catchについて

    現在、Powershellでスクリプトを作成中ですが、動作がうまくいかず困っております。 スクリプトには以下のコードを記述しています。 簡単に書くと、対象のディレクトリにある作成から90日を超えたアイテムを削除、削除できたら"成功"、削除できなかったら"失敗"と表示します。 $log_dir #削除するファイルが入っているディレクトリ $message1 = "削除完了" $message2 = "削除失敗" try { #作成から90日経過したファイルを削除  Get-Childitem $log_dir | Where-Object [$_.LastWriteTime -lt (Get-Date).AddDays(-90)} | Remove-Item #削除完了メッセージ表示  Write-Host $message1 } catch { #削除失敗メッセージ表示 Write-Host $message2 } 現時点で$log_dirに90日を超えてないファイルがあったとします。 その際は削除されないのですが、上記のコードのままだと$message1が表示されてしまい、catchにいきません。 どう修正すれば、catchに行くでしょうか? Powershell初心者のため、申し訳ございませんが、ご教示をお願いいたします。