2017-04-05 43 views
2

我在快乐的窗口寻找一个相当于这个shell脚本:窗户相当于这个shell脚本

#!/bin/bash 

if [ ! -f D:/Users/u159615/Desktop/fic ];then 
echo 1 > fic 
fi 
read value < fic 

#Rscript myRscript.R $value 

value=`expr $value + 1` 

echo $value > fic 

我试过这段代码:

@ECHO OFF 

IF NOT EXIST D:\Users\u159615\Desktop\fic (echo 1 >= fic) 

set /p cpt =< fic 

rem Rscript myRscript.R %cpt% 

set /a cpt = %cpt%+1 
echo %cpt% > fic 

,但我对Windows中的一个问题脚本,我运行脚本三次,然后我删除文件fic并再次运行它,但变量cpt中的值不会重置为1. 有没有人有想法?

在此先感谢

+0

尝试这样'IF NOT EXIST d:\用户\ u159615 \桌面\ FIC((回声1)> FIC)' – npocmaka

+0

和在最后一行'(回波%CTP%)> fic' – npocmaka

+0

我尝试但仍然无法工作:( –

回答

1

小心周围=空间。批量处理的空间将成为变量名称的一部分。 echo digit>file将被视为流的重定向,因此在这种情况下,您将需要一对额外的括号。

@ECHO OFF 

IF NOT EXIST "D:\Users\u159615\Desktop\fic" ((echo 1)>fic) 

set /p cpt=<fic 

rem Rscript myRscript.R %cpt% 

set /a cpt=%cpt%+1 
(echo %cpt%)>fic 
0

我同意npocmaka,但我不喜欢混合绝对和相对路径。

@ECHO Off 
Set fic="%UserProfile%\Desktop\fic" 
IF NOT EXIST %fic% (>%fic% echo 1) 
set /p "cpt="<%fic% 

rem Rscript myRscript.R %cpt% 

set /a "cpt+=1" 
Echo new cpt=%cpt% 
>%fic% echo %cpt%