:: +------------------------------------------------------------------
:: |名前固定で、日時更新されるファイルに対して
:: |本日の更新が行われているか、チェックするバッチプログラム。
:: |
:: |実際の運用では、スケジューラに このバッチを登録して
:: |定刻起動させることで、運用する
:: |
:: |本日の更新が行われていた場合、
:: |データ解析用のエクセルファイルを開くかどうか、入力待ちにする
:: |
:: |本日の更新が無い(更新日付とPC日付が一致しない)場合、
:: |一定の時間(ここは5秒)をおいて、ウインドウを自動クローズする
:: |※データ解析用のエクセルファイルを開かない場合もこの処理となる
:: +------------------------------------------------------------------
@echo off
dir /T:W "\\aaaa\bbbb\cccc\DailyUpdate.dat" | findstr /B %DATE% > NUL
if %ERRORLEVEL%==0 (
color 0E
echo 日次データが本日日付で更新されています
echo 以下が、その内容です
echo.
echo ■ここから■↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
type "\\aaaa\bbbb\cccc\DailyUpdate.dat"
echo ■ここまで■↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
) ELSE (
color 0F
echo まだ、更新なしです
goto OWARI
)
echo.
echo 更新されたデータが0件でなければ
echo 解析用のエクセルファイルに、データインポートする必要があります。
echo エクセルファイルを開きますか?
echo.
set workKeyInputString=
set /P workKeyInputString="はい→y[Enter] / いいえ→n[Enter] :>"
if %workKeyInputString%==y (
goto OPEN
)
if %workKeyInputString%==Y (
goto OPEN
)
goto OWARI
:OPEN
cmd /C "dataImportExcelFile.lnk"
:: ↑ここでは、バッチと同じディレクトリにある
:: ショートカット(解析用エクセルファイルの)を開いている…が
:: startコマンドで直接、解析用エクセルファイルを開くこともできるので
:: それは、別記事を参照のこと
:OWARI
echo 5秒後に、このウインドウを閉じます
ping localhost -n 5 > NUL
echo on
:: -eod-
2015年5月24日日曜日
2015年5月9日土曜日
複数のエクセルファイル から 条件に合ったもの を 開く バッチ_02
◆前回記事に、ファイル0件時の処理を追加しました。
特定ディレクトリにある 一個以上のエクセルファイルから 更新日付が最新のものを開くための バッチプログラム
仕様
ターゲットディレクトリは、バッチファイル内に直書きする
更新日付が最新のエクセルファイルを開く…としているが、DIRコマンドのオプションで変更可能
↓↓↓ここから↓↓↓↓↓↓↓
@echo off
:: -------------------------------------------------------------------
:: エクセルファイルのオープン
:: -------------------------------------------------------------------
:: ローカルPCのエクセルパスを設定する
set work_ExcelProgramPath=C:\Program Files\Microsoft Office\………\EXCEL.EXE
:: ターゲットディレクトリを設定する
set work_FolderPath=\\………\………\………\
:: ターゲットディレクトリにあるエクセルファイル名(一個以上)を取得する。ソート順は更新日付の直近順
:: ソート結果はテキストファイルに書き出す
dir /b /o-d "%work_FolderPath%"*.xls > tempExcelFileNameList.txt
if NOT %ERRORLEVEL%==0 goto FILE_NOT_EXIST
:: 取得したエクセルファイル名(一個以上)から
:: 更新日付が最も新しいエクセルファイル名のみ設定する。
:: ※この場合、複数行のエクセルファイル名が SETコマンドにリダイレクトされる可能性があるが
:: SETコマンドは、改行コードを検出した時点で文字列の取り込みを中止するので、問題は起きない
set /p work_FileNameToOpen= < tempExcelFileNameList.txt
:: 絶対パスを作成して、設定する
set work_FullPathOfFile=%work_FolderPath%%work_FileNameToOpen%
:: startコマンドの第一引数は、ウインドウタイトルと見なされるので、ダミーを設定しておく
start "" "%work_ExcelProgramPath%" "%work_FullPathOfFile%"
goto OWARI
:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:FILE_NOT_EXIST
color 0E
echo エクセルファイルが(作業のため?)一時的に移動されているようです
echo しばらくして、該当フォルダの中を確認してみてください
echo :
echo :
echo :
echo この画面を閉じますから、何かキーをおしてください
pause > NUL
:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:OWARI
echo on
↑↑↑ここまで↑↑↑↑↑↑↑
特定ディレクトリにある 一個以上のエクセルファイルから 更新日付が最新のものを開くための バッチプログラム
仕様
ターゲットディレクトリは、バッチファイル内に直書きする
更新日付が最新のエクセルファイルを開く…としているが、DIRコマンドのオプションで変更可能
↓↓↓ここから↓↓↓↓↓↓↓
@echo off
:: -------------------------------------------------------------------
:: エクセルファイルのオープン
:: -------------------------------------------------------------------
:: ローカルPCのエクセルパスを設定する
set work_ExcelProgramPath=C:\Program Files\Microsoft Office\………\EXCEL.EXE
:: ターゲットディレクトリを設定する
set work_FolderPath=\\………\………\………\
:: ターゲットディレクトリにあるエクセルファイル名(一個以上)を取得する。ソート順は更新日付の直近順
:: ソート結果はテキストファイルに書き出す
dir /b /o-d "%work_FolderPath%"*.xls > tempExcelFileNameList.txt
if NOT %ERRORLEVEL%==0 goto FILE_NOT_EXIST
:: 取得したエクセルファイル名(一個以上)から
:: 更新日付が最も新しいエクセルファイル名のみ設定する。
:: ※この場合、複数行のエクセルファイル名が SETコマンドにリダイレクトされる可能性があるが
:: SETコマンドは、改行コードを検出した時点で文字列の取り込みを中止するので、問題は起きない
set /p work_FileNameToOpen= < tempExcelFileNameList.txt
:: 絶対パスを作成して、設定する
set work_FullPathOfFile=%work_FolderPath%%work_FileNameToOpen%
:: startコマンドの第一引数は、ウインドウタイトルと見なされるので、ダミーを設定しておく
start "" "%work_ExcelProgramPath%" "%work_FullPathOfFile%"
goto OWARI
:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:FILE_NOT_EXIST
color 0E
echo エクセルファイルが(作業のため?)一時的に移動されているようです
echo しばらくして、該当フォルダの中を確認してみてください
echo :
echo :
echo :
echo この画面を閉じますから、何かキーをおしてください
pause > NUL
:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:OWARI
echo on
↑↑↑ここまで↑↑↑↑↑↑↑
2015年5月5日火曜日
複数のエクセルファイル から 条件に合ったもの を 開く バッチ
特定ディレクトリにある 一個以上のエクセルファイルから 更新日付が最新のものを開くための バッチプログラム
仕様
ターゲットディレクトリは、バッチファイル内に直書きする
更新日付が最新のエクセルファイルを開く…としているが、DIRコマンドのオプションで変更可能
↓↓↓ここから↓↓↓↓↓↓↓
:: -------------------------------------------------------------------
:: エクセルファイルのオープン
:: -------------------------------------------------------------------
:: ローカルPCのエクセルパスを設定する
set work_ExcelProgramPath=C:\Program Files\Microsoft Office\………\EXCEL.EXE
:: ターゲットディレクトリを設定する
set work_FolderPath=\\………\………\………\
:: ターゲットディレクトリにあるエクセルファイル名(一個以上)を取得する。
:: ソート順は更新日付の直近順
:: ソート結果はテキストファイルに書き出す
dir /b /o-d "%work_FolderPath%"*.xls > tempExcelFileNameList.txt
:: ↑にて、エクセルファイルが0個の場合が有りえるならば、
:: このタイミングで ERRORLEVEL を調べて、 0 でなければ、相応の処理を行うこと
:: 取得したエクセルファイル名(一個以上)から
:: 更新日付が最も新しいエクセルファイル名のみ設定する。
:: ※この場合、複数行のエクセルファイル名が SETコマンドにリダイレクトされる可能性があるが
:: SETコマンドは、改行コードを検出した時点で文字列の取り込みを中止するので
:: 問題は起きない
set /p work_FileNameToOpen= < tempExcelFileNameList.txt
:: 絶対パスを作成して、設定する
set work_FullPathOfFile=%work_FolderPath%%work_FileNameToOpen%
:: startコマンドの第一引数は、ウインドウタイトルと見なされるので、ダミーを設定しておく
start "" "%work_ExcelProgramPath%" "%work_FullPathOfFile%"
↑↑↑ここまで↑↑↑↑↑↑↑
仕様
ターゲットディレクトリは、バッチファイル内に直書きする
更新日付が最新のエクセルファイルを開く…としているが、DIRコマンドのオプションで変更可能
↓↓↓ここから↓↓↓↓↓↓↓
:: -------------------------------------------------------------------
:: エクセルファイルのオープン
:: -------------------------------------------------------------------
:: ローカルPCのエクセルパスを設定する
set work_ExcelProgramPath=C:\Program Files\Microsoft Office\………\EXCEL.EXE
:: ターゲットディレクトリを設定する
set work_FolderPath=\\………\………\………\
:: ターゲットディレクトリにあるエクセルファイル名(一個以上)を取得する。
:: ソート順は更新日付の直近順
:: ソート結果はテキストファイルに書き出す
dir /b /o-d "%work_FolderPath%"*.xls > tempExcelFileNameList.txt
:: ↑にて、エクセルファイルが0個の場合が有りえるならば、
:: このタイミングで ERRORLEVEL を調べて、 0 でなければ、相応の処理を行うこと
:: 取得したエクセルファイル名(一個以上)から
:: 更新日付が最も新しいエクセルファイル名のみ設定する。
:: ※この場合、複数行のエクセルファイル名が SETコマンドにリダイレクトされる可能性があるが
:: SETコマンドは、改行コードを検出した時点で文字列の取り込みを中止するので
:: 問題は起きない
set /p work_FileNameToOpen= < tempExcelFileNameList.txt
:: 絶対パスを作成して、設定する
set work_FullPathOfFile=%work_FolderPath%%work_FileNameToOpen%
:: startコマンドの第一引数は、ウインドウタイトルと見なされるので、ダミーを設定しておく
start "" "%work_ExcelProgramPath%" "%work_FullPathOfFile%"
↑↑↑ここまで↑↑↑↑↑↑↑
登録:
投稿 (Atom)