将shell修改为bat脚本
下面是两个脚本,通过test.sh调用mds.sh,希望能修改为.bat或.pymds.sh脚本:d=$1f=$2mkdir$d${d}_1while[1];domkdi...
下面是两个脚本,通过test.sh 调用mds.sh,希望能修改为.bat或.py
mds.sh脚本:
d=$1
f=$2
mkdir $d ${d}_1
while [ 1 ];
do
mkdir $d ${d}_1
touch $d/$f
for kk in {1..10}
do
touch $d/${f}${kk} # mkdir $d/${d}${kk}
done
mv $d/$f $d/${f}_mv
mv $d/${f}_mv $d/$f
mv $d/${f}* ${d}_1/
mv ${d}_1/* ${d}/
mv ${d} ${d}2
mv ${d}2 ${d}
rm -rf ${d}/*
rm -rf $d/
rm -rf ${d}_1/
rm -rf ${d}2
done
test.sh脚本:
for i in {1..5} ;
do
for j in {1..5}
do
sh mds.sh $i $j > /dev/zero 2>&1 &
done
done 展开
mds.sh脚本:
d=$1
f=$2
mkdir $d ${d}_1
while [ 1 ];
do
mkdir $d ${d}_1
touch $d/$f
for kk in {1..10}
do
touch $d/${f}${kk} # mkdir $d/${d}${kk}
done
mv $d/$f $d/${f}_mv
mv $d/${f}_mv $d/$f
mv $d/${f}* ${d}_1/
mv ${d}_1/* ${d}/
mv ${d} ${d}2
mv ${d}2 ${d}
rm -rf ${d}/*
rm -rf $d/
rm -rf ${d}_1/
rm -rf ${d}2
done
test.sh脚本:
for i in {1..5} ;
do
for j in {1..5}
do
sh mds.sh $i $j > /dev/zero 2>&1 &
done
done 展开
1个回答
展开全部
追问
for j in {1..5} 确实是为$j赋值
d=$1 f=$2 这个是获取test.sh中 $i $j的值,将$i 与$j的值赋给 d与f
${d}是获取什么的值? $d是调用i的值,将$i的值赋给d
${kk}应该是for kk in {1..10} 分10次将1-10中的数字赋给kk
里面的touch是用来创建文件的,windows中可以用echo 来实现
追答
@echo off
for /l %%i in (1,1,5) do (
for /l %%j in (1,1,5) do (
md %%i %%i_1
echo,>%%i\%%j
for /l %%k in (1,1,10) do (
echo,>%%i\%%j%%k
md %%i\%%i%%k
)
move %%i\%%j %%i\%%j_mv
move %%i\%%j_mv %%i\%%j
move %%i\%%j* %%i_1\
move %%i_1\* %%i\
move %%i %%i2
move %%i2 %%i
rd /s /q %%i %%i_1 %%i2
)
)
pause
以上代码为两个脚本的整合
顺便提一下,你的mds.sh中touch $d/${f}${kk} # mkdir $d/${d}${kk}是创建一个文件和一个文件夹吗?而且还是同名的,对吧?
但我要告诉你,微软系统,在同一目录下不允许存在同名的文件夹和文件,所以在bat脚本中我优先生成文件,然后生成目录,这就会导致文件生成后,文件夹将无法创建。具体过程情况,请在代码中相应位置用pause暂停命令截断一下后,看生成结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |