服务器技术

 首页 > 服务器技术 > WinServer > windows下实现在bat中启动shell - Windows操作系统 - 自

windows下实现在bat中启动shell - Windows操作系统 - 自

分享到:
【字体:
导读:
          windows下实现在bat中启动shell因为需要用到cygwin,来执行 每日定时任务有一种cygwin 里面安装定时任务来完成。但是在windows下或许会比较麻烦,考虑到windows自身有计划任务,如果能将制定...

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:cygwinbin
6
echo "begin..."
7
rem start the cygwin and run the shell file.
8
D:cygwinbinmintty.exe /home/scripts/webFunc
出现一个问题:启动cygwin后,无法运行命令,困扰了好几天。一直不知道为什么直接启动快捷方式可以运行,但是通过bat启动就无法找到“ls,find,mkdir”等命令。。一开始一直以为是bat中需要给cygwin传递一些参数,查看它的快捷方式,并没有发现很特别的参数。
一直到刚才,才意识到是环境变量的问题,于是在环境变量的path后追加 cygwinbin;问题解决了。
 
一个需要注意的小地方,我的shell脚本中有用到find, 而windows下find也是有的。所以系统默认使用的是windows下的find命令,于是总是报出一个“参数错误”的异常。  将shell中的find 改为 /user/bin/find 后,问题解决,好在我的脚本并不多,也就两三个地方用的find。更改后正常执行。
 
另外就是脚本中用到mysql ,所以需要安装mysql 并添加环境变量。
 
从linux下移植到windows,听起来很简单的事情,做的时候遇到的问题还是挺多,还有一个问题就是代码中出现路径的问题。 当初写代码的同学将所有查找配置的路径都是写死的,/home/...现在移植到的时候,只要自己手动全改成windows能识别的。  以后也要多注意,尽量路径也符合 posix标准。
 
分享到:
Win8如何进入安全模式 - Windows操作系统...
Win8如何进入安全模式   有时候我们是需要进入系统的安全模式的,不过因为大家平常也不会随便的进入所以对安全模式比较不熟悉,特别是现在新出来的win 8系统,大家就更不熟悉了,但是学会进入安全模式的方法是必然的,比如你可能会遇到下列的状况:    迫不及待的装好了Win8,用着很爽;昨晚头脑发热,想要试试卡巴斯...
Windows Server 2003如何让服务器禁ping ...
Windows Server 2003如何让服务器禁ping   在网络中为了防止用户频繁Ping服务器而导致服务器性能下降,一般都会在防火墙中设置规则决绝Ping请求。那么如果单纯借助系统自身的功能是否也可以拒绝用户Ping服务器呢 频繁地使用Ping命令会导致网络堵塞、降低传输效率,为了避免恶意的网络攻击,一般都会拒绝用户Ping服务器...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……