@echo off rem New File ^(accord template^) or Directory rem 2010年8月28日 rem pz rem rem 思路 rem 在数据文件中定义文件类型、文档模板、关联程序; rem 程序中识别出后缀,根据文档模板新建文件,调用关联程序打开; rem 新建结果放在桌面; rem rem 编程 rem 如果没有传入参数,则提示输入参数(文件名或目录名); rem 判断文件(夹)是否存在,存在则退出; rem 如果没有后缀,则新建文件夹; rem 如果模板文件不存在,则退出; rem 如果关联程序不存在,则退出; rem
rem 获得文件(夹)名 if"%1"==""(set/p name="Input name for new file(htm/cpp/c/txt/folder):") else (set/p name=%~1)
rem 文件存在否 if exist "%name%"(echo %name% is already && pause &&exit)
rem 下面根据文件名后缀创建不同类型的文件,并用相应软件打开空白文件 rem //////////////////////////////////////////////////////////////
rem 目录 :direction echo "%name%"| find "." if errorlevel 1 goto createfolder
rem Word文件 :openbyWord echo "%name%"| find ".doc" if errorlevel 1 goto filetypeHtm copy "D:\AZ\templete\Normal.dot""%name%" "%name%" exit
rem 网页文档 :filetypeHtm echo "%name%"| find ".htm" if errorlevel 1 goto openbycpp rem 从模板创建,%CD%表示当前目录(默认为当前目录,这里可以省略),考虑到目录中可能含有空格所以加引号 copy D:\AZ\templete\new.htm "%CD%"\"%name%" set curpath=%CD% echo curpath rem //如果安装了FrontPage,通过查看软件图板属性找不到EXE文件在哪里~,但百度可知EXE文件藏身之处。 rem "C:\Program Files\Microsoft Office\OFFICE11\FRONTPG.EXE""%name%" rem //为什么不能像打开cpp文件那样,用start启动软件呢~ 搞不清。 rem 如果不先将 当前路径保存,软件会默认它打开的文件和它在同一目录下~ "D:\AZ\Dreamweaver MX 2004\Dreamweaver MX 2004\Dreamweaver.exe""%curpath%\%name%" exit
rem CorCPP源文件 :openbycpp echo "%name%"| find ".cpp" if errorlevel 1 goto openbyc rem 从模板创建 copy D:\AZ\templete\new.cpp "%CD%"\"%name%" goto openbyMSDEV :openbyc echo "%name%"| find ".c" if errorlevel 1 goto openbytxt rem 从模板创建 copy D:\AZ\templete\new.c "%CD%"\"%name%" :openbyMSDEV start "C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE""%name%" exit
rem 记事本 :openbytxt rem 创建 TXT echo "%name%"| find ".txt" if errorlevel 1 goto openbytxtBat echo.>>"%name%" start notepad "%name%" exit
rem dos脚本 :openbytxtBat rem 创建 BAT echo "%name%"| find ".bat" if errorlevel 1 goto createfolder echo.>>"%name%" start notepad "%name%" exit
rem 文件夹 :createfolder md "%name%" echo create a folder.&& pause