您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页windows下实现在bat中启动shell

windows下实现在bat中启动shell

来源:保捱科技网


windows下实现在bat中启动shell

因为需要用到cygwin,来执行 每日定时任务

有一种cygwin 里面安装定时任务来完成。

但是在windows下或许会比较麻烦,考虑到windows自身有计划任务,如果能将制定计划任务,每天按时启动应用程序,或者bat脚本。

因为脚本是shell脚本,所以在windows下是无法直接执行的,只能通过cygwin。

所以必须现在 bat中启动cygwin,编写bat文件:

1

@echo off

2

rem change to d:

3

d:

4

rem change the dir

5

chdir D:\\cygwin\\bin

6

echo \"begin...\"

7

rem start the cygwin and run the shell file.

8

D:\\cygwin\\bin\\mintty.exe /home/scripts/webFunc

出现一个问题:启动cygwin后,无法运行命令,困扰了好几天。一直不知道为什么直接启动快捷方式可以运行,但是通过bat启动就无法找到“ls,find,mkdir”等命令。。一开始一直以为是bat中需要给cygwin传递一些参数,查看它的快捷方式,并没有发现很特别的参数。

一直到刚才,才意识到是环境变量的问题,于是在环境变量的path后追加 cygwin\\bin;问题解决了。

一个需要注意的小地方,我的shell脚本中有用到find, 而windows下find也是有的。所以系统默认使用的是windows下的find命令,于是总是报出一个“参数错误”的异常。 将shell中的find 改为 /user/bin/find 后,问题解决,好在我的脚本并不多,也就两三个地方用的find。更改后正常执行。

另外就是脚本中用到mysql ,所以需要安装mysql 并添加环境变量。

从linux下移植到windows,听起来很简单的事情,做的时候遇到的问题还是挺多,还有一个问题就是代码中出现路径的问题。 当初写代码的同学将所有查找配置的路径都是写死的,/home/...现在移植到的时候,只要自己手动全改成windows能识别的。 以后也要多注意,尽量路径也符合 posix标准。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务