- 締切済み
バッチファイルで悩んでいます。
プログラミング初心者です。 御教授の程、宜しくお願いします。 以下のプログラムは 1.ユーザーからフォルダをドラッグ・アンド・ドロップしてもらう。 2.ユーザーに日付を入力してもらう(yyyymmdd方式) 3.ユーザーに下記の2つから選んでもらう。 1.入力した日付よりも前に更新されたファイルを表示 2.入力した日付よりも後に更新されたファイルを表示 4.ユーザーから受け付けた条件で、サブフォルダも含めて コマンドプロンプト上に 更新日時 ファイルへのパス を表示する。 ------------------------------------------- list.bat echo off set /P YYYYMMDD=日付を入力してください(YYYYMMDD): :loop echo ---------------------------------------------------- echo 入力した日付よりも前に更新されたファイルを表示 - [1] echo 入力した日付よりも後に更新されたファイルを表示 - [2] echo ---------------------------------------------------- set /P chk= 1 か 2 を入力してください: if not defined chk goto loop if %chk% EQU 1 set op=LSS&goto listup if %chk% EQU 2 set op=GTR&goto listup goto loop :listup echo. for /R %1 %%F in ( *.* ) do call :sub "%%~fnxF" %%~tF cmd /k :sub set fdate=%2 set fdate=%fdate:/=% if %fdate% %op% %YYYYMMDD% echo %2 %3 %1 goto :EOF このプログラムに関しまして、 4.ユーザーから受け付けた条件で、サブフォルダも含めて コマンドプロンプト上に 更新日時 ファイルへのパス を表示する。 をコマンドプロンプト上にではなく、エクセルファイル上に変更したいです。 教えて頂きますと助かります。 それでは、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nag0720
- ベストアンサー率58% (1093/1860)
>エクセル上に書込みと言う事です。 バッチファイルでエクセルファイルを直接読み込んだり書き込んだりすることはできません。 テキストファイルを経由して処理するしかありません。
- nag0720
- ベストアンサー率58% (1093/1860)
「エクセルファイル上に変更したい」とはどういう意味でしょうか。 直接エクセルファイルに書き出すのはできませんから、 リダイレクトでcsvファイルに出力してはどうですか。 if %fdate% %op% %YYYYMMDD% echo %2 %3 %1 > xxxx.csv
補足
有難うございます。 エクセル上に書込みと言う事です。 まだまだ、私も勉強不足な故、もう少し詳しく教えて頂いて 宜しいでしょうか。 宜しくお願い致します。