• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sedを使用しないで改名する方法)

質問:sedを使用しないで改名する方法

このQ&Aのポイント
  • Windows2003 Serverでデータを月1で取得するバッチファイルを使用しているが、セキュリティポリシーでsedの使用が制限されたため、sedを使用せずに改名する方法があるかどうかを教えてください。
  • 現在の仕様は、毎月1日に前月の1日から最新のデータを取得することです。
  • バッチファイルでは、date.txtというファイルに現在の日付を出力し、sedを使用して日付の書式を変更した後、フォルダの作成とデータのコピーを行っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.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に相当するスクリプトを記述できるのではないでしょうか。

関連するQ&A