如何在%1中获得“”,而不是“ ECHO已关闭。”

问题描述 投票:0回答:1
@echo off
setlocal
title Jupyter Notebook
set init=C:\Users\Sarthik\Machine Learning

set user=%1

echo %user%
if "%user%" == "" (
    set user=%init%
)

echo.
echo Starting Jupyter Notebook at %user%, Please Wait...
echo.
echo.

cd /d %user% && (
jupyter notebook
) || (
echo.
echo.
echo ================== You have entered WRONG PATH ==================
echo.
pause
)

我是一个相当的新手,正在尝试通过自定义命令从输入的位置启动Jupyter Notebook。我希望命令看起来像:

>jn [filelocation]

以及何时使用默认位置:

>jn

我原本希望在%1中获得“”,但获得ECHO已关闭。,但由于字符串中的[[ECHO,我什至无法检查是否相等。我应该如何在%1中获得“”。

PS:我知道是因为@echo off而得到它,但我也需要该语句。

提前感谢
batch-file cmd echo placeholder
1个回答
0
投票
您的脚本有两个问题:

    如果不传递参数%1为空,则echo %1命令的行不起作用。这就是为什么您无法获得回声的原因。向下移动线
  1. 如果路径中有空格,则使用cd命令的行将不起作用。您应该在cd命令中使用引号。
  • 仅是一个提示:出于测试目的,请删除第一行(@echo off)。在这种情况下,您可以看到已执行的命令,并且可以轻松跟踪实际发生的情况。

    以下脚本应该起作用:

    @echo off setlocal title Jupyter Notebook set init=C:\Users\Sarthik\Machine Learning set user=%1 if "%user%" == "" ( set user=%init% ) echo %user% echo. echo Starting Jupyter Notebook at %user%, Please Wait... echo. echo. cd /d "%user%" && ( jupyter notebook ) || ( echo. echo. echo ================== You have entered WRONG PATH ================== echo. pause )

  • © www.soinside.com 2019 - 2024. All rights reserved.