編集済みの質問。Powershellを使用してファイル名から四半期と年を検索します。
ファイル名に名前と日付が含まれているバッチスクリプトを作成しています。 だから私はADATE変数
for /D %%d in ("C:\AA\*") do (
for %%a in ("%%d\*.*") do (SET "FPath=%%~dpa"
Set "FName=%%~na")
)
::echo %FPath%/%FName%
::timeout 4
For /F "Tokens=4-9 Delims=-" %%A In ("%FName%") Do (
Set "Freq=%%B"
Set "ADate=%%F%%E%%D"
)
にADATEが正しく移入された日付を抽出しています。
Set "DFormat=ddMMyyyy"
For /F UseBackQ %%A In (
`Powershell "([datetime]::ParseExact('%ADate%','%DFormat%', [System.Globalization.CultureInfo]::CurrentCulture)).AddMonths(-1).ToString('MMM-yyyy')"`
) Do Set "DateF=%%A"
上記のロジックは正常です。
今、私は月 - 年の代わりに四半期を取得したいと思います。 フォルダ名はQ1-2017、Q2-2017などとなります(ファイル名は1から4分の1になります)
これを取得する方法を教えてください。 私は以下のロジックを試していました。
`Powershell "([datetime]::ParseExact('%ADate%','%DFormat%',[System.Globalization.CultureInfo]::CurrentCulture)).AddQuarter(-1).ToString('M')"`
@ Mark-あなたのマークが少し違っていて、ここではSystemdateからではないファイル名からの日付を使用しています。 – Ashu