« DELL 机器装 Windows | Main | 工行理财金卡将要收管理费 转贴关于启用理财金账户章程的公告 »
August 24, 2006
写了个下载日期时间格式内容的 bat 脚本 用 gdate 搞定
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。 https://windtear.net/archives/2006/08/24/001064.html http://windtear.net/archives/2006/08/24/001064.html 写了个下载日期时间格式内容的 bat 脚本 用 gdate 搞定 按天下载 (用 gdate) @ECHO OFF REM Data Download BAT Script REM Usage: dl.day.bat YYYYmm/dd set TIMEDATE=%1 IF "A%TIMEDATE%A"=="AA" for /f "usebackq tokens=1,2 delims=-" %%i in \ (`gdate -d "yesterday" "+%%Y-%%m/%%d"`) do set TIMEDATE=%%i%%j wget http://username:password@ip.or.domain/%TIMEDATE%.tgz 按天、小时下载 (用 gdate) @ECHO OFF REM Data Download BAT Script REM Usage: dl.hour.bat YYYYmm/dd HH set TIMEDATE=%1 set TIMEHOUR=%2 IF "A%TIMEDATE%A"=="AA" for /f "usebackq tokens=1,2 delims=-" %%i in \ (`gdate -d "1 hour ago" "+%%Y-%%m/%%d"`) do set TIMEDATE=%%i%%j IF "A%TIMEHOUR%A"=="AA" for /f "usebackq tokens=1 delims=:" %%i in \ (`gdate -d "1 hour ago" +%%H`) do set TIMEHOUR=%%i wget http://username:password@ip.or.domain/%TIMEDATE%/%TIMEHOUR%.tgz 如果用 windows 的 date time 命令的话 也可以 (不过bat里面怎么做减法我不会) @ECHO OFF set TIMEDATE=%1 set TIMEHOUR=%2 IF "A%TIMEDATE%A"=="AA" for /f "usebackq tokens=1,2,3 delims=- " %%i in \ (`date /t`) do set TIMEDATE=%%i%%j%%k IF "A%TIMEHOUR%A"=="AA" for /f "usebackq tokens=1 delims=:" %%i in \ (`time /t`) do set TIMEHOUR=%%i 注意事项和TODO: 1. bat 脚本里面想用 % 要写两次 %% 2. 字符串处理的分隔符得想明白 并简单记数 3. 执行另外一个命令 把输出赋值给一个变量怎么做? 4. 减法怎么做? 5. gdate 摘自 gnuwin32 coreutils |
Posted by windtear at August 24, 2006 11:29 PM