内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list($forumlist, $model = 0, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $model . '-' . $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 不分模型 * @param int $display 0全部CMS栏目 1在首页和频道显示内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list_show($forumlist, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 * @return mixed BBS栏目数据(仅列表) 尚未开放bbs频道功能 */ function forum_list($forumlist) { if (empty($forumlist)) return array(); static $cache = array(); if (isset($cache['bbs_forum_list'])) return $cache['bbs_forum_list']; $cache['bbs_forum_list'] = array(); foreach ($forumlist as $_fid => $_forum) { if ($_forum['type']) continue; $cache['bbs_forum_list'][$_fid] = $_forum; } return $cache['bbs_forum_list']; } // 导航显示的版块 function nav_list($forumlist) { if (empty($forumlist)) return NULL; static $cache = array(); if (isset($cache['nav_list'])) return $cache['nav_list']; foreach ($forumlist as $fid => $forum) { if (0 == $forum['nav_display']) { unset($forumlist[$fid]); } } return $cache['nav_list'] = $forumlist; } ?>javascript - Windows Scripting: VBScript, DOS, JS, Python,- Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Windows Scripting: VBScript, DOS, JS, Python,- Stack Overflow

programmeradmin0浏览0评论

Say you were mainly a C-syntax like programmer and Linux systems administrator, and you were tasked with creating some simple automation tasks on Windows (monitoring of back-up files, process monitoring, ...). Which language would you prefer to write your scripts in? There's a large collection of VBS-scripts out there (using VB syntax), but I'd prefer anything more C-related.

What are your best experiences in using scripts for Windows? Any obvious down- or upside to a certain language?

Say you were mainly a C-syntax like programmer and Linux systems administrator, and you were tasked with creating some simple automation tasks on Windows (monitoring of back-up files, process monitoring, ...). Which language would you prefer to write your scripts in? There's a large collection of VBS-scripts out there (using VB syntax), but I'd prefer anything more C-related.

What are your best experiences in using scripts for Windows? Any obvious down- or upside to a certain language?

Share Improve this question edited May 6, 2009 at 17:57 Dan Lew 87.4k33 gold badges184 silver badges176 bronze badges asked Feb 13, 2009 at 15:04 MojahMojah 1,3732 gold badges12 silver badges16 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 7

I would use Powershell.

  • It has a vaguely C-like syntaxt.
  • It has an integrated shell.
  • The newest version (currently in CTP) includes a builtin IDE (Although it is limited pared to other 3rd party ones).
  • It has easy access to something like 90% of the functionality in the .Net framework.
  • Going forward, MS products will explicitly provide Powershell integration.
  • It supports pipes.

Pretty much every script in VBS can be converted to an equivalent in JScript.

There are a few gotchas to watch out for. Read up on the enumerator and remember that in VBS is case insensitive so when translating a script, certain methods may have the wrong casing.

Try to do what you want to do in a CMD-file, it that doesn't cut it, use Windows Scripting Host to call a wsh-file with JScript and/or VBScript in it. If you prefer the JScript-look, use that as your primary language, and use VBScript for things you copy from the net or cannot find a JScript solution to. You can call VBScript from JScript and the other way around.

Check out the Microsoft Scriptomatic tool too.

It can generate lots of admin scripts in VBScript, Perl, JavaScript (JScript) and Python. Makes navigating WMI much easier too.

发布评论

评论列表(0)

  1. 暂无评论