相关疑难解决方法(0)

如何在Windows批处理文件中创建"是否确定"提示?

我有一个批处理文件,可以自动将一堆文件从一个地方复制到另一个地方,然后返回给我.唯一的事情就是它帮助我,我不小心选择了命令缓冲区中的命令,并大量覆盖未经修改的更改.

我的.bat文件需要什么代码才能让它说"你确定",并让我在运行文件的其余部分之前输入"y"吗?如果输入"y"之外的任何内容,它应该退出该行的执行.

编辑 11月27日好的我再次标记这个未答复,因为我仍然无法弄明白.当我打电话给"退出"时 它关闭cmd.exe这不是我想要的.这一切都是因为Windows实现了命令缓冲区错误[不同于我至少习惯的]

windows cmd batch-file

81
推荐指数
5
解决办法
10万
查看次数

用于运行.bat文件的命令

我正在尝试使我的Visual Studio构建脚本执行一个重要的.bat文件.

这就是我现在想做的事情:

cd "F:\- Big Packets -\kitterengine\Common\" Template.bat
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我必须这样做才能使它工作:

cd "F:\- Big Packets -\kitterengine\Common\"
F:
Template.bat
Run Code Online (Sandbox Code Playgroud)

但是这很难添加到Visual Studio脚本中.

我怎么能在一行中做到这一点?

windows command cmd prompt

22
推荐指数
4
解决办法
20万
查看次数

如何调用当前目录中一级的批处理文件?

我正在使用批处理文件 folder1/folder2/file.bat

父文件夹中有一个批处理文件folder1,我想打开它file.bat

我尝试过使用:

start ..\..\code.bat
Run Code Online (Sandbox Code Playgroud)

但是这会导致错误消息,因为找不到文件.

有任何想法吗?

batch-file call

12
推荐指数
3
解决办法
6万
查看次数

Windows 批处理文件中的安全数字比较

我知道,在比较批处理文件中的内容是否相等时,通常将两边括在引号中,例如

IF "%myvar% NEQ "0" 
Run Code Online (Sandbox Code Playgroud)

但是,当使用“大于”或“小于”进行比较时,这不起作用,因为操作数将被视为带有引号的字符串。所以你可以这样做

IF %myvar% GTR 20000
Run Code Online (Sandbox Code Playgroud)

需要注意的是,如果变量 %myvar% 没有声明,那么就像这样做

IF GTR 20000
Run Code Online (Sandbox Code Playgroud)

这是一个语法错误。

我想出了以下解决方法:

IF 1%myvar% GTR 120000
Run Code Online (Sandbox Code Playgroud)

我希望这会导致IF 1 GTR 120000ifmyvar未定义,并且它似乎有效。

这是比较数字和计算未声明变量的安全方法,还是我只是提出了一个全新的警告?

windows cmd batch-file

6
推荐指数
1
解决办法
5676
查看次数

从外部函数批处理返回字符串

我有两个批处理文件。一个是主(调用者)文件,一个是函数。该函数接受一个参数,执行一些操作,然后我想将字符串返回给调用者 (main.bat)。%ERRORLEVEL% 不是一个选项,因为它只能返回整数。

main.bat:
call function.bat hello
function.bat:
REM some code.......
[HERE THE THE CODE TO RETURN A STRING TO CALLER FILE]
好像是基本操作,所以一定有办法。另外,我不喜欢用输出制作文件并在 main.bat 中读取它,因为我想让它作为一个易于使用的功能工作。

windows function batch-file

5
推荐指数
1
解决办法
4888
查看次数

批量退出for循环

for如果计数j达到 ,我不想离开循环0

set /a j=3
for /R c:\dsd_imports\ad_and_deal %%i IN (*.*) DO (
  MDI_import_ad_command.bat C:\DSD_IMPORTS\AD_AND_DEAL\%%~nxi
  MOVE %%i c:\dsd_imports\ad_and_deal\in_process
  set /a j=j-1
  if j == 0
     break
)
Run Code Online (Sandbox Code Playgroud)

windows for-loop if-statement batch-file

4
推荐指数
2
解决办法
7135
查看次数

带有用户输入的 Windows 批处理 if 语句

.bat 应该将用户输入与值进行比较。IF "%choice%"=="1"当我用 1 或 2 的输入测试它时,它不会进入。

这是批处理文件:

@echo off
rem ...
IF [%$ecbId%] == [] (
    echo Enter '1' to blabla
    echo Enter '2' to blabla
    echo Enter anything to abort
    set /p choice="Type input: "
    IF "%choice%"=="1" (
        echo toto1
        rem save into property file
        echo currentMaster=%ecb%>> MDC.properties
        echo masterDcName=ECBDC>> MDC.properties
        echo currentClone=%bdf%>> MDC.properties
        echo cloneDcName=BDFDC>> MDC.properties
    )
    IF "%choice%"=="2" (
        echo toto2
        rem save into property file
        echo currentMaster=%bdf%>> MDC.properties
        echo masterDcName=BDFDC>> MDC.properties
        echo currentClone=%ecb%>> …
Run Code Online (Sandbox Code Playgroud)

windows cmd if-statement batch-file

3
推荐指数
1
解决办法
9676
查看次数

更改批处理文件中的当前工作目录是最佳实践吗?

我有一个批处理文件,我在其中通过传递某些参数来调用一个应用程序。

这是我的sample.batch 文件的内容

cd C:\Program Files\MyApplication
"C:\Program Files\MyApplication\Application.exe" -e -p "Application Projects/Testing/General/Notepad" -rm "Close Notepad"
Run Code Online (Sandbox Code Playgroud)

在这里,我需要将当前工作目录更改为 Application.exe 所在的文件夹,以便它找到位于该文件夹中的某些所需的 JAR。这样做是最佳做法吗?在执行批处理文件之前更改当前工作目录。

command batch-file working-directory

1
推荐指数
2
解决办法
1668
查看次数

命令的语法不正确?

我是批处理新手,因此我无法弄清楚,为什么会出现语法错误??

这是我的代码:

set /p hostname1=<a.txt


echo %hostname1%

PAUSE

IF %hostname1% == 0 (
    SET %hostname02% = 1
    echo %hostname02% >> a.txt
    PAUSE

) 

IF %hostname1% == 1 (

    SET %hostname03% = 2
    echo %hostname03% >> a.txt
    PAUSE
    exit
) 

IF %hostname1% == 2 (
    echo MSGBOX "Message" > %temp%\TEMPmessage.vbs
    call %temp%\TEMPmessage.vbs
    del %temp%\TEMPmessage.vbs /f /q
) 
Run Code Online (Sandbox Code Playgroud)

这只是一个“为了好玩”的项目,但我想知道为什么我会收到这个烦人的错误!

batch-file

1
推荐指数
1
解决办法
1万
查看次数

将 *d.dll 复制到 debug 文件夹,将 *.dll 不带 *d.dll 复制到 release

我有一个包含类似文件的库

opencv_dnn340.dll
opencv_dnn340d.dll
opencv_features2d340.dll
opencv_features2d340d.dll
opencv_ffmpeg340_64.dll
opencv_flann340.dll
opencv_flann340d.dll
opencv_highgui340.dll
opencv_highgui340d.dll
opencv_imgcodecs340.dll
opencv_imgcodecs340d.dll
opencv_imgproc340.dll
opencv_imgproc340d.dll
Run Code Online (Sandbox Code Playgroud)

我试图在调试模式下只复制 *d.dll 文件,并在发布模式下复制所有没有 *d.dll 的 *.dll 文件

我从这个开始

if %ConfigurationName% == Debug xcopy /y /d "%SolutionDir%..\..\ia-imaging-opencv-libs\3.4.0\windows\x64\vc12\bin\*d.dll" "%TargetDir%\"

else xcopy /y /d "%SolutionDir%..\..\ia-imaging-opencv-libs\3.4.0\windows\x64\vc12\bin\*.dll" "%TargetDir%\"
Run Code Online (Sandbox Code Playgroud)

但在发布时我复制了所有文件。

现在我正在尝试使用 for 循环

for /R "%SolutionDir%..\..\ia-imaging-opencv-libs\3.4.0\windows\x64\vc12\bin\" "%%File" IN *.dll
    if %ConfigurationName% == Debug & findstr /R *d.dll "%%File"
       xcopy /y /d "%%File" "%TargetDir%\"
    else %ConfigurationName% == Release & NEQ findstr /R *d.dll "%%File"
       xcopy /y /d "%%File" "%TargetDir%\"
Run Code Online (Sandbox Code Playgroud)

能否请你帮忙如何为 *.dll 文件创建一个没有 *d.dll …

batch-file

1
推荐指数
1
解决办法
499
查看次数

批处理文件未在任务调度程序中运行 python 脚本

我有一个抓取python 脚本和一个批处理文件,当从 CMD 运行时可以完美运行,但是当我尝试从任务计划程序运行它时没有任何反应。

我知道有很多关于同一问题的问题,但我已经尝试了所有建议的答案,但似乎没有一个可行。

不知道这是否相关,但脚本会打开 Firefox 并抓取一些网站。

已尝试为我正在使用的文件夹和文件添加完全权限。此外,尝试在任务计划程序中设置“无论用户是否登录都运行”、“以最高权限运行”、“启动(可选):添加/批处理/文件/路径”等

批处理文件:

py "C:\python_test\myscript.py"
Run Code Online (Sandbox Code Playgroud)

它应该运行 python 脚本,它打开 Firefox 并抓取一些网站,获取它们的链接并将它们保存在一个 csv 文件中

这是 myscript.py:

import datetime
import time
import csv
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import os

file_path = r"C:\General\{0:%Y%m%d}\results{0:%Y%m%d%H%M%S}.csv".format(datetime.datetime.now())
directory = os.path.dirname(file_path)

try:
    os.stat(directory)
except:
    os.mkdir(directory)

from bs4 import BeautifulSoup
 
 
def init_driver():
    caps = DesiredCapabilities.FIREFOX
    caps['marionette'] = True
    driver …
Run Code Online (Sandbox Code Playgroud)

python firefox batch-file taskscheduler

1
推荐指数
1
解决办法
5454
查看次数