- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sedを使用しないで改名する方法)
質問:sedを使用しないで改名する方法
このQ&Aのポイント
- Windows2003 Serverでデータを月1で取得するバッチファイルを使用しているが、セキュリティポリシーでsedの使用が制限されたため、sedを使用せずに改名する方法があるかどうかを教えてください。
- 現在の仕様は、毎月1日に前月の1日から最新のデータを取得することです。
- バッチファイルでは、date.txtというファイルに現在の日付を出力し、sedを使用して日付の書式を変更した後、フォルダの作成とデータのコピーを行っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
提示されているバッチファイルを見ると、sedを使って date /t の出力から年(下2桁)と 月を取得して、それぞれYYとDTに代入し、最終的に1ヶ月前の月をMMに代入しているように 見受けられます(間違っていたらご指摘ください)。 この前提に従ってsedを使わずにバッチだけで記述した場合のサンプルです。 2003 Server での確認ができないのでXPで動作確認しています。 :--------------------------------------------- sample.bat :現在日付の取得("/"の削除) set tmpdate=%date:/=% :計算のためYYYYMMを6桁で取得 set YYYYMM=%tmpdate:~0,6% :前月を求める set /a YYYYMM=YYYYMM-1 :年をまたがる場合 if %YYYYMM:~-2%==00 set /a YYYYMM=YYYYMM - 100 + 12 :YYYYMMから年下2桁と月を取得 set YY=%YYYYMM:~2,2% set MM=%YYYYMM:~-2% mkdir c:\%YY%%MM% xcopy C:\"Program Files"\AAA\LOG\MAIN* c:\%YY%%MM% /d:%MM%-01-%YY%
その他の回答 (1)
- 6chan
- ベストアンサー率46% (91/194)
回答No.1
VBScript には、「RegExp」という正規表現用のオブジェクトが用意されています。 wshで、sedに相当するスクリプトを記述できるのではないでしょうか。