与此shell脚本相当的windows

与此shell脚本相当的windows,shell,batch-file,Shell,Batch File,我正在windows中寻找此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 #/bin/bash 如果[!-fd:/Users/u159615/Desktop/fic]

我正在windows中寻找此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
#/bin/bash
如果[!-fd:/Users/u159615/Desktop/fic];然后
回声1>fic
fi
读取值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
@ECHO关闭
如果不存在,D:\Users\u159615\Desktop\fic(echo 1>=fic)
设置/p cpt=fic
但是windows脚本有一个问题,我运行了三次脚本,然后删除了文件fic并再次运行,但是变量cpt中的值没有重置为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
@ECHO关闭
如果不存在“D:\Users\u159615\Desktop\fic”((echo 1)>fic)
设置/p cpt=fic

我同意Npcmaka,但我不喜欢把绝对路径和相对路径混为一谈

@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%
@ECHO关闭
Set fic=“%UserProfile%\Desktop\fic”
如果不存在%fic%(>%fic%1)
设置/p“cpt=“%fic%echo%cpt%

如果不存在,请像这样尝试D:\Users\u159615\Desktop\fic((echo 1)>fic)在最后一行
(echo%ctp%)>fic
我尝试过,但仍然不起作用:(