エクセル(Excel)&ワード(Word)質問掲示板

より見やすく使いやすいエクセル掲示板を目指し、新たにエクセルの質問掲示板を開設いたしました。 これに伴い、当サイトでは今後、新規投稿はできなくなります。(閲覧は当面可能です。)
今後は新掲示板をご利用いただきますよう宜しくお願い致します。今後ともよろしくお願い致します。
○新掲示板
エクセル(Excel)解決掲示板

エクセル・ワードの基本操作に関する質問や関数やマクロの使い方などエクセルとワードに関する質問掲示板。
Welcome Guest 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

P帳マクロ

このトピックの投稿一覧へ

なし P帳マクロ

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-2-7 18:08 | 最終変更
ゲスト    投稿数: 0
REM **************************************************************************
REM ** バッチ名 : A.bat
REM ** 作成日  : 2010.02.01
REM ** 作成者  : tester
REM ** 処理概要 : 転送処理
REM ** 変更日 変更内容               変更者
REM ** yyyymmdd ここに変更内容記述する。              xxxxxx
REM **************************************************************************

rem === 変数設定 ===============================================================

rem --- フラグ変数 ---
set OK=0

rem --- フォルダ変数 ---
set MAIN_DIR=D:\test\A
set INP_DIR=%MAIN_DIR%\OPEN3
set OUT_DIR=%MAIN_DIR%\OPEN
set BKUP_DIR=%INP_DIR%\BKUP
set UNYO_DIR=%MAIN_DIR%\UNYO
set LOG_DIR=%UNYO_DIR%\LOG
set BAT_DIR=%UNYO_DIR%\BAT
set TIME_DIR=%UNYO_DIR%\TIME

rem --- ファイル変数 ---
set LOG_FILE=A_LOG.txt
set LOG_FILENAME=%LOG_DIR%\%LOG_FILE%
set BAT_FILE1=A.bat
set TIME_FILE=A_TIME.txt
set TIME_FILENAME=%TIME_DIR%\%TIME_FILE%

rem --- ビジネス日付変数 ---
FOR /F "delims=" %%i in (%TIME_FILENAME%) Do set B_DATE=%%i
set YEAR=%B_DATE:~0,4%
set MONTH=%B_DATE:~4,2%
set DAY=%B_DATE:~6,2%
set YEAR_DIR=%BKUP_DIR%\H%YEAR%
set MONTH_DIR=%YEAR_DIR%\H%YEAR%%MONTH%
set DAY_DIR=%MONTH_DIR%\H%YEAR%%MONTH%%DAY%

rem --- コマンド拡張機能有効化 ---
setlocal ENABLEEXTENSIONS

rem === 変数設定 ===============================================================

REM <STEP1>
REM <開始処理>===============

CALL :TIME

ECHO ------------------------------------------------------------------------------------------------->> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
ECHO %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理開始時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%

REM <STEP2>
ECHO 年次フォルダ存在チェック開始===============>> %LOG_FILENAME%

IF NOT EXIST %YEAR_DIR% GOTO YEAR_MK
ECHO 年次フォルダは存在しているので作成しません。>> %LOG_FILENAME%
GOTO MONTH

:YEAR_MK
MKDIR %YEAR_DIR%
ECHO 年次フォルダを作成しました。>> %LOG_FILENAME%

:MONTH
REM <STEP3>
ECHO 月次フォルダ存在チェック開始===============>> %LOG_FILENAME%

IF NOT EXIST %MONTH_DIR% GOTO MONTH_MK
ECHO 月次フォルダは存在しているので作成しません。>> %LOG_FILENAME%
GOTO DAY

:MONTH_MK
MKDIR %MONTH_DIR%
ECHO 月次フォルダを作成しました。>> %LOG_FILENAME%

:DAY
REM <STEP4>
ECHO 日次フォルダ存在チェック開始===============>> %LOG_FILENAME%

IF NOT EXIST %DAY_DIR% GOTO DAY_MK
ECHO 日次フォルダは存在しているので作成しません。>> %LOG_FILENAME%
GOTO R_EXIST

:DAY_MK
MKDIR %DAY_DIR%
ECHO 日次フォルダを作成しました。>> %LOG_FILENAME%

:R_EXIST
REM <STEP5>
ECHO 転送ファイル存在チェック開始===============>> %LOG_FILENAME%

IF NOT EXIST %INP_DIR%\R*.txt GOTO R_NO_FILE
ECHO 転送ファイルが存在しています。>> %LOG_FILENAME%

REM <STEP6>
ECHO 先頭文字【H】挿入処理開始===============>> %LOG_FILENAME%

CD %INP_DIR%
set V=H
FOR %%A in (R*.txt)do ren %%A %V%%%A

ECHO 先頭文字【H】挿入処理完了。>> %LOG_FILENAME%

REM <STEP7>
ECHO 転送ファイルバックアップ処理開始===============>> %LOG_FILENAME%

FOR %%F in (%INP_DIR%\H*.txt) do (
COPY %INP_DIR%\\%%~nxF %DAY_DIR%\\%%~nxF >NUL
FC %INP_DIR%\\%%~nxF %DAY_DIR%\\%%~nxF >NUL
IF ERRORLEVEL 1 set OK=1
)

IF "%OK%"=="0" (
ECHO 転送ファイルバックアップ成功。>> %LOG_FILENAME%
GOTO H_MOVE_FILE
) else (
GOTO H_NG_COPY
)

:H_MOVE_FILE
REM <STEP8>
ECHO 転送ファイル移動処理開始===============>> %LOG_FILENAME%

MOVE %INP_DIR%\H*.txt %OUT_DIR%\

IF EXIST %INP_DIR%\H*.txt GOTO H_NG_MOVE
ECHO 転送ファイル移動成功。>> %LOG_FILENAME%

REM <STEP9>
ECHO 判定結果出力処理開始===============>> %LOG_FILENAME%

ECHO 正常終了>> %LOG_FILENAME%

REM <STEP10>
REM <終了処理>===============

ECHO.>> %LOG_FILENAME%

CALL :TIME

ECHO %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理終了時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
ECHO ------------------------------------------------------------------------------------------------->> %LOG_FILENAME%

REM <STEP11>
REM ECHO 転送処理結果 メール配信処理開始===============>>

REM CMAIL

GOTO END

:R_NO_FILE
ECHO 転送ファイルが存在していません。>> %LOG_FILENAME%
ECHO 判定結果出力処理開始===============>> %LOG_FILENAME%
ECHO 異常終了>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
CALL :TIME
ECHO %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理終了時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
ECHO ------------------------------------------------------------------------------------------------->> %LOG_FILENAME%
GOTO END

:H_NG_COPY
ECHO 転送ファイルバックアップ失敗。>> %LOG_FILENAME%
ECHO 判定結果出力処理開始===============>> %LOG_FILENAME%
ECHO 異常終了>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
CALL :TIME
ECHO %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理終了時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
ECHO ------------------------------------------------------------------------------------------------->> %LOG_FILENAME%
GOTO END

:H_NG_MOVE
ECHO 転送ファイル移動失敗。>> %LOG_FILENAME%
ECHO 判定結果出力処理開始===============>> %LOG_FILENAME%
ECHO 異常終了>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
CALL :TIME
ECHO %BAT_FILE1% 処理日 = %yyyy%%yy%/%mm%/%dd% 処理終了時間= %HH%:%MM2%:%SS%>> %LOG_FILENAME%
ECHO.>> %LOG_FILENAME%
ECHO ------------------------------------------------------------------------------------------------->> %LOG_FILENAME%
GOTO END

REM 現在の日付/時間を取得
:TIME
set yyyy=%date:~-10,2%
set yy=%date:~-8,2%
set mm=%date:~-5,2%
set dd=%date:~-2,2%
set HH=%TIME:~0,2%
set MM2=%TIME:~3,2%
set SS=%TIME:~6,2%

EXIT /B

:END

マクロ化は可能だりょうか?
投票数:69 平均点:6.38
返信する

この投稿に返信する

題名
ゲスト名   :
投稿本文

投稿ツリー

  条件検索へ


スポンサーリンク
スポンサーリンク
エクセル・ワード質問/回答集 - クイズ・問題QUUS! - 無料英語学習 - 投資家・トレーダー掲示版
為替(FX)テクニカル分析入門 - エクセル(EXCEL)学習・入門 - Word(ワード)の使い方/活用・入門
Copy right(c) 2006-2010 エクセル&ワード質問掲示板 all right reserved