2016-04-10 15 views
0

私は私のftpからファイルをダウンロードするバッチスクリプトを持っています。私は毎週このスクリプトを実行日付を取得する2週間前にバッチファイル

FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B 
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B 
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B 
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B 
SET yy=%yyyy:~-2% 
SET filename=%yy%%mm%%dd% 

は、これは、サーバーから右のファイルを引っ張って今日の日付を取るのセクションがあります。

2週間前にダウンロードしたファイルを自動的に削除するセクションをスクリプトに追加したいと思います。

のような新しい変数oldfilenameを生成するにはどうすればよいですか?

+0

ここSO上_「昨日の日付」の検索_日付算術演算のための提案を見つけるためには、それらのほとんどは、日付機能をサポートしていないので、純粋なバッチファイルソリューションではありません... – aschipfl

+1

[\ [batch-file \]昨日の日付]での検索結果を表示します(http://stackoverflow.com/search?q= %5Bバッチファイル%5D +昨日+日付)または[N日を超えたファイルを削除するバッチファイル](http://stackoverflow.com/questions/51054/)。 – Mofi

答えて

0

正しい方向に私を指摘してくれてありがとう。

ここに私がなってしまったコードです:

@echo off 
set day=-14 
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s) 
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2) 
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a" 
del "%temp%\%~n0.vbs" 
set "YYYY=%result:~0,4%" 
set "MM=%result:~4,2%" 
set "DD=%result:~6,2%" 
SET yy=%yyyy:~-2% 
set "oldfilename=%yy%%mm%%dd%" 
関連する問題