IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> #bat 脚本创建python工程 -> 正文阅读

[系统运维]#bat 脚本创建python工程

话不多说,先看效果
在这里插入图片描述
源码贴上

@echo off

:: 因为没有参数,所以这里会跳到 Dog
call :Dog%1 %2 %3
exit


:: =========================主程序========================= ::
:Dog
set BS=
:InputLoop
cls
set /p proj=输入工程名:
if "%proj%"=="" goto InputLoop

:: 输入判断
if exist "%proj%" (
    echo 工程已存在,3s后退出...
    timeout /t 3 /nobreak >nul
    goto END
)

:: 创建工程
echo.
echo 创建Python工程^(%proj%^)

:: 创建工程目录
set prefix=创建工程目录
set file=%proj%

set /p=%BS%[    ] %prefix%<nul
mkdir "%file%" >nul 2>nul
if exist "%proj%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 生成python虚拟环境(venv)
set prefix=生成python虚拟环境
set file=%proj%\venv\Scripts\pip.exe


set /p=%BS%[    ] %prefix%<nul
start /b %~n0%~x0 DotLoop %file%
python.exe -m venv "%proj%\venv" >nul 2>nul
if exist "%file%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 添加main^.py到工程
set prefix=添加main^.py到工程
set file=%proj%\main.py

set /p=%BS%[    ] %prefix%<nul
call :GenerateMainFile
if exist "%file%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 添加vscode配置
set prefix=添加vscode配置
set file=%proj%\.vscode\settings.json

set /p=%BS%[    ] %prefix%<nul
call :ConfigureVscodeSettings
if exist "%file%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 创建工程完成
echo 创建工程完成

:: 打开工程
echo 使用code打开工程
cmd /c code "%proj%"
timeout /t 3 /nobreak >nul
:: 结束
goto :eof
:: =================================Main End================================== ::






:: =========================Define Your Function Here========================= ::

:: ======================Configure Vscode Settings Start====================== ::
:ConfigureVscodeSettings
mkdir "%proj%\.vscode" >nul 2>nul
(
    echo {
    echo     "python.defaultInterpreterPath": "${workspaceFolder}\\venv\\Scripts\\python.exe",
    echo     "python.terminal.activateEnvInCurrentTerminal": true,
    echo     "python.formatting.provider": "black",
    echo     "python.formatting.blackArgs": [
    echo         "--skip-string-normalization",
    echo         "--line-length",
    echo         "120"
    echo     ],
    echo }
)>"%proj%\.vscode\settings.json"
goto :eof
:: ======================Configure Vscode Settings End======================== ::


:: ======================Generate main.py Start=============================== ::
:GenerateMainFile
(   
    echo def print_hello^(^):
    echo     print^('hello'^)
    echo. 
    echo. 
    echo if __name__ == '__main__':
    echo     print_hello^(^)
    echo.

)>"%proj%\main.py"
goto :eof
:: ======================Generate main.py End================================= ::

:: Function End


:: File has exist
:ProjectAlreadyExist
rmdir /s/q "%proj%"
for %%i in (3 2 1) do (
    set /p=%BS%工程已经存在, %%i秒后退出<nul
    timeout /t 1 /nobreak >nul 2>nul
)
set /p=%BS%                                                       <nul
goto END



:: ======================start 函数区====================== ::

:: ======================================================== ::
:: 循环打印(. .. ...),直到给定的文件出现
:: @param %1 文件
:: 调用格式 call %0 "param"
:DogDotLoop
if not exist "%1" (set /p=.<nul)         else ( exit )
timeout /t 1 /nobreak >nul
if not exist "%1" (set /p=.<nul)         else ( exit )
timeout /t 1 /nobreak >nul
if not exist "%1" (set /p=.<nul)         else ( exit )
timeout /t 1 /nobreak >nul
if not exist "%1" (set /p=   <nul) else ( exit )
goto DogDotLoop
exit

:: ======================================================== ::
:: 循环打印(............),直到给定的文件出现
:: @param %1 文件
:: 调用格式 call %0 "param" 
:DogDotNoLoop
if not exist "%1" (set /p=.<nul)        else ( goto :eof )
timeout /t 1 /nobreak >nul
goto DogDotNoLoop
exit

:END
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 16:22:28  更:2021-12-14 16:24:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:52:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码