コンピュータのOS Caption情報取得
@echo off
rem (Get-WmiObject Win32_OperatingSystem).Caption
FOR /F "usebackq delims=" %%A IN (`powershell "(Get-WmiObject Win32_OperatingSystem).Caption"`) DO set result=%%A
echo %result%
powershell
今日の日付取得
for /F %%i in ('powershell (Get-Date^).ToString('yyyyMMdd_HHmm_ss_fff'^)') do (
set dayago=%%i )
X日前の情報取得
rem 2日前
for /F %%i in ('powershell (Get-Date^).AddDays(-2^).ToString('yyyyMMdd'^)') do (
set dayago=%%i )
Xnか月前の年月を取得する
for /F %%i in ('powershell (Get-Date^).AddMonths(-1^).ToString('yyyyMd'^)') do (
set SENGETSU=%%i
)
echo nヶ月前は%SENGETSU%
Xか月前の月末を取得する
rem 先月末の月末日
for /F %%i in ('powershell (Get-Date -Day 1^).AddDays(-1^).ToString('yyyyMMdd'^)') do (
set GETSUMATSU=%%i
)
rem Addmonths を変更 -2 であれば -3ヶ月前の日付となる
for /F %%i in ('powershell (Get-Date -Day 1^).AddMonths(-2^).AddDays(-1^).ToString('yyyyMMdd'^)') do (
set GETSUMATSU=%%i
)
X日前の曜日を取得する
rem 日前の曜日
rem AddDays でX日前を設定
for /F %%i in ('powershell (Get-Date (Get-Date^).AddDays(-0^).ToString('yyyy/MM/dd'^)^).DayOfWeek^') do (
set Week1=%%i
)
set whatday=%Week1:~0,3%
if %WHATDAY%==Sun SET WDAY=1_SUN
if %WHATDAY%==Mon SET WDAY=2_MON
if %WHATDAY%==Tue SET WDAY=3_TUE
if %WHATDAY%==Wed SET WDAY=4_WED
if %WHATDAY%==Thu SET WDAY=5_THU
if %WHATDAY%==Fri SET WDAY=6_FRI
if %WHATDAY%==Sat SET WDAY=7_SAT
echo %WDAY%
日付から曜日取得
rem
for /F %%i in ('powershell (Get-Date (Get-Date^).AddDays(-0^).ToString('yyyy/MM/dd'^)^).DayOfWeek^') do (
set Week1=%%i
)
set whatday=%Week1:~0,3%
曜日を番号で取得
rem test 曜日取得
for /F %%i in ('powershell (Get-Date (Get-Date^).AddDays(-0^).ToString('yyyy/MM/dd'^)^).DayOfWeek^') do (
set Week1=%%i
)
set whatday=%Week1:~0,3%
for /f "usebackq delims=" %%A in (`powershell.exe -Command "(Get-Date (Get-Date).AddDays(-0) ).DayOfWeek -as [int]"`) do set DAYOFWEEK1=%%A
echo %DAYOFWEEK1%
set DAYWEEK2=0%DAYOFWEEK1%_%WHATDAY%
曜日を番号で取得(VBS風)
for /F %%i in ('powershell (Get-Date (Get-Date^).AddDays(-0^).ToString('yyyy/MM/dd'^)^).DayOfWeek^') do (
set Week1=%%i
set whatday=%Week1:~0,3%
)
for /f "usebackq delims=" %%A in (`powershell.exe -Command "(Get-Date (Get-Date).AddDays(-0) ).DayOfWeek -as [int]"`) do (
set DAYOFWEEK1=%%A
)
rem 変数確認
echo %DAYOFWEEK1%
set DAYWEEK2=0%DAYOFWEEK1%_%WHATDAY%
rem vbs週番号
if %whatday%==Sat set WDAY=07SAT
if %whatday%==Fri set WDAY=06FRI
if %whatday%==Thu set WDAY=05THU
if %whatday%==Wed set WDAY=04WED
if %whatday%==Tue set WDAY=03TUE
if %whatday%==Mon set WDAY=02MON
if %whatday%==Sun set WDAY=01SUN
echo %WDAY%
ファイルのタイムスタンプ取得
for /F %%i in ('powershell (Get-ItemProperty
test.txt^).LastWriteTime.ToString('yyyyMMdd_HHmm_ss'^)') do (
set file01A=%%i
)
sed コマンド メモ
https://sublimer.hatenablog.com/entry/2016/12/11/192100
---sed で記号つきを置換する例
for /F %%i in ('powershell (Get-Date^).ToString('yyyy\/MM\/dd'^)') do (
set wday2=%%i )
set wday=%wday2:~0,10%
sed "s*^*%wday%,*g" a.txt b.txt
コメント