跳至主要内容

博文

目前显示的是标签为“bat”的博文

golang exec on windows problem

1.Write your cmd in a .bat file 2.exec.Command("C:\\Users\\asd\\Downloads\\a.bat").Run() package main import ( f "fmt" "os/exec" ) func main() { f.Println(exec.Command("cmd", "/C", "copy", "C:\\ProgramData\\Microsoft\\Windows\\StartM~1\\Programs\\Google Chrome.lnk", ".\\GC.lnk").Run()) f.Println(exec.Command("cmd", "/C", "GC.lnk").Start()) }

shell vs bat

事实上, 残废的DOS批处理文件语言还是可以编写出一些比较强大的脚本来的, 虽然它们一般都需要借助于外部的工具. 所以说, 某些时候, 我们还是需要将老式的DOS批处理文件转换为UNIX shell脚本. 一般来说, 做这种事情并不困难, 因为DOS批处理文件操作不过是等价的shell脚本的一个受限子集.  批处理文件操作符 Shell脚本等价符号 含义 % $ 命令行参数前缀 / - 命令选项标记 \ / 目录路径分隔符 == = (等于)字符串比较测试 !==! != (不等)字符串比较测试 | | 管道 @ set +v 不打印当前命令 * * 文件名"通配符" > > 文件重定向(覆盖) >> >> 文件重定向(附加) < < 重定向stdin %VAR% $VAR 环境变量 REM # 注释 NOT ! 取反 NUL /dev/null "黑洞"用来阻止命令输出 ECHO echo 打印(Bash中有更多选项) ECHO. echo 打印空行 ECHO OFF set +v 不打印后续的命令 FOR %%VAR IN (LIST) DO for var in ; do "for"循环 :LABEL 没有等价物(多余) 标签 GOTO 没有等价物(使用函数) 跳转到脚本的另一个位置 PAUSE sleep 暂停或等待一段时间 CHOICE case or select 菜单选择 IF if if条件语句 IF EXIST FILENAME if [ -e filename ] 测试文件是否存在 IF !%N==! if [ -z "$N" ] 参数"N"是否存在 CALL source命令或.(点操作符) "include"另一个脚本 COMMAND /C source命令或.(点操作符) "include"另一个脚本(与CALL相同) SET export 设置一个环境变量 SHIFT shift 左移命令行参数列表 SGN -lt或-gt (整形)符号 ERRORLEVEL $? 退出状态 CON stdin "控制台"(stdin) PRN /d...