ファイルをフォルダから別のフォルダにコピーするために毎朝実行されるスケジュールされたタスクを作成しようとしています。ここに問題があります、
ソースフォルダの名前は動的であり、毎日の日付(つまり、「06-Feb-13」)で始まります。毎日の日付を判別してそのフォルダーを見つけることができるバッチファイルを作成するにはどうすればよいですか?
前もって感謝します。
ファイルをフォルダから別のフォルダにコピーするために毎朝実行されるスケジュールされたタスクを作成しようとしています。ここに問題があります、
ソースフォルダの名前は動的であり、毎日の日付(つまり、「06-Feb-13」)で始まります。毎日の日付を判別してそのフォルダーを見つけることができるバッチファイルを作成するにはどうすればよいですか?
前もって感謝します。
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
echo %mydate%_%mytime%
このリンクが役に立ちます。
それが探している最新のフォルダである場合は、作成日でソートされたディレクトリ リストを作成し、最後のエントリに基づいて操作できます。必要なディレクトリが常に最後に作成されたものであることがわかっている場合は、実際の日付を取得して比較する必要はありません。
@echo off
setlocal
for /f %%I in ('dir /t:c /o:d /b "c:\path\to\containing\dir\*."') do set dir=%%I
copy "%dir%\*.*" "c:\destination\folder"
私がやっていることに注意してdir "path\*."
くださいdir "path\*.*"
。は*.
ディレクトリに一致しますが、ファイルには一致しません。
これが私が日付のために思いついた最終的な解決策です:
@echo off
REM -- Convert number to 3 character month--
set v=%date:~4,2%
SET map=01-Jan;02-Feb;03-Mar;04-Apr;05-May;06-Jun;07-Jul;08-Aug;09-Sep;10-Oct;11-Nov;12-Dec
CALL SET v=%%map:*%v%-=%%
SET v=%v:;=&rem.%
set y=%date:~12,4%
set d=%date:~7,2%
set "mydate=%d%-%v%-%y%"
echo %mydate%