set /a var = 0 if exist C:\codeSource\source (set /a var = 1) if %var% == 0 (echo 代码目录不正确,请确保代码目录是C:\codeSource,codeSource目录包含source目录) if %var% == 0 (echo 并且C:\codeSource不再嵌套codeSource目录) if %var% == 0 pause if %var% == 0 exit echo 代码目录检查OK pause rem add nodejs path set /a s1 = 0 path | find "C:\codeSource\source\v16.13.1" >nul && (set /a s1 = 1) if %s1% == 0 (setx /m PATH "C:\codeSource\source\v16.13.1;%PATH%") else (echo nodejs环境变量已配置。) rem add org and peer set /p var2="请输入您购买服务器的IP,没有可回车跳过,也可稍后配置 :" if "%var2%" == "" (echo 您没有输入服务器IP,可稍后配置(已经配置请忽略),按任意键结束程序。 ) if "%var2%" == "" pause if "%var2%" == "" exit echo 您输入的IP是: %var2% pause set /a s2 = 0 if exist C:\Windows\System32\drivers\etc\hosts (set /a s2 = 1) rem no hosts , make a hosts if %s2% == 0 (echo #127.0.0.1 localhost > C:\Windows\System32\drivers\etc\hosts) type C:\Windows\System32\drivers\etc\hosts > C:\Windows\System32\drivers\etc\hosts.bak echo %var2% peer0.org1.example.com peer1.org1.example.com peer0.org2.example.com peer1.org2.example.com orderer.example.com > C:\Windows\System32\drivers\etc\hosts type C:\Windows\System32\drivers\etc\hosts.bak >> C:\Windows\System32\drivers\etc\hosts echo 恭喜您,所有配置已完毕。 echo 提示:如果出现拒绝访问或报错,请使用管理员权限重新运行此程序。 pause
时间: 2023-07-21 07:04:12 浏览: 102
这段代码是一个批处理脚本,用于检查代码目录是否正确、配置Node.js环境变量、配置服务器IP和hosts文件。
首先会检查C:\codeSource\source目录是否存在,如果不存在,会提示用户并退出程序。如果存在,会继续执行。
然后会检查Node.js环境变量是否已配置,如果没有,会将C:\codeSource\source\v16.13.1添加到系统环境变量中。
接着会要求用户输入服务器的IP地址,如果用户没有输入,则会提示用户稍后配置,并退出程序。
然后会检查是否存在hosts文件,如果不存在,会创建一个空的hosts文件。然后会将用户输入的IP地址和一些域名添加到hosts文件中。
最后会提示用户所有配置已完毕,并提示如果出现权限问题需要使用管理员权限重新运行程序。
需要注意的是,如果hosts文件已经存在并且包含了其他配置,则这段代码可能会覆盖掉原来的配置。建议在运行之前备份hosts文件。
相关问题
将如下bat脚本转换为shell脚本语言:@echo off set count=0 dir E:\ > nul 2>&1 if not %errorlevel% == 0 ( (echo E not exist) & pause && exit ) else ( (echo E exist) ) setlocal enabledelayedexpansion :loop for /f "skip=1 tokens=1" %%a in ('adb devices') do ( if not "%%a"=="List" ( set /a count+=1 ) ) if %count% gtr 0 ( echo found %count% devices goto end ) else ( echo device list is empty goto loop ) :end :read sn :: 将文件系统挂载为可写 adb root adb remount :: 获取当前时间戳,格式为yyyymmdd_hhmmss set timestamp=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% :: 获取设备SN set retry_times=0 :get sn for /f "delims=" %%i in ('adb shell getprop ro.serialno') do set "devicesn=%%i" set /a "retry_times=retry_times+1" if not defined devicesn ( if %retry_times% leq 2 ( echo Failed to read device SN, try again. Retry count= %retry_times% goto :get sn ) else ( echo Failed to read device SN after multiple retries, please check the connection and try again later. pause && exit ) ) echo devicesn=%devicesn% timestamp=%timestamp% :: 以设备序列号和时间戳为文件夹名创建目录 set device_dir=%devicesn%_%timestamp% md "E:\Raven_DualCam\%device_dir%" && echo create "%device_dir%" success if %errorlevel% neq 0 ( echo create "%device_dir%" fail pause && exit ) :: 将指定的文件pull到E盘 adb pull /mnt/vendor/persist/camera/dualcam_cali.bin E:\Raven_DualCam\%device_dir%\dualcam_cali.bin adb pull /mnt/sdcard/DCIM/DoubleCam E:\Raven_DualCam\%device_dir%\DoubleCam pause
#!/bin/bash
count=0
ls /E > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "E not exist"
read -p "Press any key to continue..." -n1 -s
exit
else
echo "E exist"
fi
while true
do
count=0
for device in $(adb devices | awk 'NF==2{print $1}')
do
if [ $device != "List" ]
then
((count++))
fi
done
if [ $count -gt 0 ]
then
echo "found $count devices"
break
else
echo "device list is empty"
fi
done
devicesn=""
retry_times=0
while [ -z "$devicesn" ]
do
devicesn=$(adb shell getprop ro.serialno | tr -d '\r')
((retry_times++))
if [ -z "$devicesn" ]
then
if [ $retry_times -le 2 ]
then
echo "Failed to read device SN, try again. Retry count=$retry_times"
else
echo "Failed to read device SN after multiple retries, please check the connection and try again later."
read -p "Press any key to continue..." -n1 -s
exit
fi
fi
done
echo "devicesn=$devicesn"
timestamp=$(date +"%Y%m%d_%H%M%S")
echo "timestamp=$timestamp"
device_dir="$devicesn"_"$timestamp"
mkdir -p "/E/Raven_DualCam/$device_dir" && echo "create $device_dir success"
if [ $? -ne 0 ]
then
echo "create $device_dir fail"
read -p "Press any key to continue..." -n1 -s
exit
fi
adb root
adb remount
adb pull /mnt/vendor/persist/camera/dualcam_cali.bin "/E/Raven_DualCam/$device_dir/dualcam_cali.bin"
adb pull /mnt/sdcard/DCIM/DoubleCam "/E/Raven_DualCam/$device_dir/DoubleCam"
read -p "Press any key to continue..." -n1 -s
@echo off color 0F set dir=%% for /d %%a in (%cd%\*) do ( set dir=%%a if exist %%a\7z.dll ( if exist %%a\#YouXun# ( if exist .\7z.exe ( .\7z.exe x %%a\#YouXun# -o.\game -m0=BCJ -aoa -m1=LZMA:d=21 -ms -mmt goto end ))) )
这是一个Windows批处理文件的代码段,主要功能是解压缩指定目录下的#YouXun#文件到当前目录下的game子目录中。具体解释如下:
- @echo off:关闭命令行窗口中的命令回显,即不显示执行的命令。
- color 0F:设置命令行窗口的前景色和背景色。
- set dir=%%:设置一个变量dir,并将其值初始化为空。
- for /d %%a in (%cd%\*) do ( ... ):遍历当前目录下的所有子目录,对于每个子目录执行一次循环体中的语句。
- set dir=%%a:将当前子目录的路径赋值给dir变量。
- if exist %%a\7z.dll ( ... ):判断当前子目录中是否存在7z.dll文件。
- if exist %%a\#YouXun# ( ... ):再次判断当前子目录中是否存在#YouXun#文件。
- if exist .\7z.exe ( ... ):再次判断当前目录下是否存在7z.exe文件。
- .\7z.exe x %%a\#YouXun# -o.\game -m0=BCJ -aoa -m1=LZMA:d=21 -ms -mmt:如果三个文件都存在,则使用7z.exe工具解压缩#YouXun#文件到当前目录下的game子目录中。解压缩参数的含义可以查看7z.exe的帮助文档。
- goto end:跳转到代码段的结尾处。
- ):循环体的结束。
需要注意的是,这段代码只是一个片段,无法直接运行。如果需要使用,还需要加上完整的批处理文件框架和其他必要的语句。并且,在使用时应该确保7z.exe和7z.dll文件存在于正确的位置。
阅读全文