【发布时间】:2021-03-28 07:10:11
【问题描述】:
说网址是错误的,但对我来说似乎是正确的。 我正在尝试从 Internet 下载文件启动该程序,然后在该过程结束后删除该程序。 任何帮助都会很棒
过程将是
启动 exe ---> 创建简单的下载器 ---> 通过 bat 文件添加参数 ---> 启动文件 -----> 等待进程结束 -----> 删除下载的文件。 我还没有添加等待进程和删除命令
@if (@X)==(@Y) @end /****** jscript comment ******
@echo off
::::::::::::::::::::::::::::::::::::
::: compile the script ::::
::::::::::::::::::::::::::::::::::::
setlocal
if exist simpledownloader.exe goto :skip_compilation
set "frm=%SystemRoot%\Microsoft.NET\Framework\"
:: searching the latest installed .net framework
for /f "tokens=* delims=" %%v in ('dir /b /s /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
if exist "%%v\jsc.exe" (
rem :: the javascript.net compiler
set "jsc=%%~dpsnfxv\jsc.exe"
goto :break_loop
)
)
echo jsc.exe not found && exit /b 0
:break_loop
call %jsc% /nologo /out:"simpledownloader.exe" "%~dpsfnx0"
::::::::::::::::::::::::::::::::::::
::: end of compilation ::::
::::::::::::::::::::::::::::::::::::
:skip_compilation
:: download the file
::
::::::::::
:: simpledownloader.exe "%%~1" "%%~2"
simpledownloader.exe "https://download.splashtop.com/sos/SplashtopSOS.exe" sos.exe
sos.exe
:: del /q simpledownloader.exe
::
::::::::
::
exit /b 0
****** end of jscript comment ******/
import System;
var arguments:String[] = Environment.GetCommandLineArgs();
var webClient:System.Net.WebClient = new System.Net.WebClient();
print("Downloading " + arguments[1] + " to " + arguments[2]);
try {
webClient.DownloadFile(arguments[1], arguments[2]);
} catch (e) {
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\nProblem with downloading " + arguments[1] + " to " + arguments[2] + "Check if the internet address is valid");
Console.ResetColor();
Environment.Exit(5);
}
【问题讨论】:
-
你应该仍然使用
:: simpledownloader.exe "%~1" "%~2",而不是:: simpledownloader.exe "%%~1" "%%~2。我也不想通过http://下载任何东西,而不是https://。 -
最重要的是,我不确定您是否知道,但您似乎正在尝试将批处理文件用作混合 cmd/js 文件,但似乎没有将其与另一种方式是每个都被视为其各自解释器/引擎的正确语法。您使用了
****** end of jscript comment ******/,但没有包含任何定义 jscript 注释开头的内容,例如@set @x=0 /*或@if (true == false) @end /*。 -
您认为这可能是 tls 问题吗?我很绿,我将如何强制 tls 1.2
-
我认为主要问题是我告诉你的!您从混合 cmd/js 文件中复制了代码 sn-p,并省略了其中的一些。现在您已经添加了该代码,您可能会遇到不同的问题,但由于您没有提供任何调试信息,我无意只给您另一个要修复的东西,然后是另一个等等,直到您告诉我它一切如你所愿。这是一个技术网站,您应该明白,您在这个问题中的角色是为我们提供我们需要的一切,以便我们自己重现您的问题,“说 url 错误”是不够的。跨度>
-
@Compo 这只是一个糟糕的复制和粘贴,抱歉...我在上面修复了它。
标签: javascript c# batch-file