gpt4 book ai didi

windows - 如何在 ftp 命令 "bye"后返回执行 cmd 命令?

转载 作者:可可西里 更新时间:2023-11-01 10:00:24 36 4
gpt4 key购买 nike

我有 .bat 文件。看起来像下一个

....many commands1
ftp -i -s:copy.txt
...many commands2

copy.txt 包含下一个命令

open ...
login
password
get file
bye

当我执行我的 .bat 文件时,它接下来会起作用

many commands1
ftp commands

但许多命令2仍然没有执行。

最佳答案

听起来您的command2 命令之一可能正在调用(启动)批处理文件而不使用CALL 命令。 (底部是两个流程图,解释了使用和不使用 CALL 的后果。)请参阅**使用和不使用 CALL 的后果。


如果我最初的预感不正确,您需要开始采取措施调试您的批处理文件。

注释掉任何 @ECHO OFF 语句,并在批处理文件中放入一些 PAUSE 甚至 ECHO 语句。这将帮助您定位错误。此外,请记住,如果您希望代码执行批处理文件,则需要使用 CALL 命令,然后在完成后继续执行 CALLing 批处理文件执行 CALLed 批处理文件。此外,请注意,如果您 CALL 任何包含 ECHO OFF 语句的批处理文件,即使在控制权返回到CALL 文件。例如:

:: For debugging porpuses we leave `ECHO` in it's default `ON` state
REM @echo off

:: Execute your leading commands:
commands1

:: If you prefer, because you know that your problem comes after this point;
:: You can, if you want, leave the leading `ECHO OFF` command alone, and
:: instead, put an `ECHO ON` statement here:
echo on

ftp -i -s:copy.txt
ECHO Back from FTPing...
pause

:: Calling command2.1.exe
command2.1.exe
echo Back from command2.1.exe
pause

:: Calling command2.2.bat
CALL command2.2.bat

:: Since Command2.2.bat contains an ECHO OFF statement
:: we'll turn `ECHO` back on again for debugging purposes.
ECHO ON

echo Back from command2.2.bat
pause

使用和不使用 CALL 的后果。

假设这两个批处理文件:

运行.BAT

@ECHO OFF
ECHO Starting: RUN.BAT
(Misc commands)

:: 'Calling' SECOND.BAT without useing `CALL`
SECOND.BATCH

:: Back from SECOND.BAT
ECHO Back from second.bat

SECOND.BAT

@echo off
ECHO Running: SECOND.BAT

没有 CALL 语句的执行流程将像这样移动:

C:\> RUN.BAT<kbd>ENTER</kbd>
|
\|/
v
@echo off
echo Running
(misc commands)
|
\|/
v
SECOND.BAT ----> @echo off
echo Running Seond.bat
(misc commands)
|
\|/
v
END

但是如果将RUN.BAT文件中的SECOND.BAT行改为CALL SECOND.BAT,执行流程将像这样:

C:\> RUN.BAT<kbd>ENTER</kbd>
|
\|/
v
@echo off
echo Running
(misc commands)
|
\|/
v
SECOND.BAT ----> @echo off
echo Running Seond.bat
(misc commands)
|
\|/
v
:: Back from SECOND.BAT <--+
|
\|/
v
ECHO Back from second.bat
|
\|/
v
END

关于windows - 如何在 ftp 命令 "bye"后返回执行 cmd 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462868/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com