我需要将以下Unix脚本转换为在Windows上运行。我假设cd
命令会更改为调用dir
而echo
命令更改为调用print
。
脚本检查目录中是否有给定文件,如果文件不存在,则脚本循环/休眠,然后再次检查。
我主要是如何最好地转换变量和循环命令,任何提示/提示都会受到赞赏?
cd $DIRECTORY_NAME
echo "You are currently in $(pwd) directory"
numfiles=0
while [ $numfiles -lt "1" ]
do
export filename=`ls SWIX_BAU_success`
export numfiles=$(echo $filename | wc -w)
echo "$numfiles file found"
if [ $numfiles -ge "1" ]
then
echo "$filename file found"
exit 0
else
echo "Incorrect number of files found, 1 file expected"
numfiles=0
sleep 300
fi
done
答案 0 :(得分:0)
当你撤销这个问题时,我只是在SO上发布这个答案
假设SWIX_BAU_success
是只有一个文件的(子)目录。
@Echo off
cd /D "%DIRECTORY_NAME%"
echo You are currently in directory: %CD%
Set numfiles=0
For /f "tokens=1,* delims=:" %%A in (
'Dir /B "SWIX_BAU_success" ^| findstr /n ^ '
) DO Set numfiles=%%a&Set filename=%%B
If %numfiles% equ 1 (
echo %filename% found
exit /B 0
) else (
echo "Incorrect number of files found, 1 file expected"
set numfiles=0
Timeout /T 300
)