我有一个批处理文件,可以自动将一堆文件从一个地方复制到另一个地方,然后返回给我.唯一的事情就是它帮助我,我不小心选择了命令缓冲区中的命令,并大量覆盖未经修改的更改.
我的.bat文件需要什么代码才能让它说"你确定",并让我在运行文件的其余部分之前输入"y"吗?如果输入"y"之外的任何内容,它应该退出该行的执行.
编辑 11月27日好的我再次标记这个未答复,因为我仍然无法弄明白.当我打电话给"退出"时 它关闭cmd.exe这不是我想要的.这一切都是因为Windows实现了命令缓冲区错误[不同于我至少习惯的]
我正在尝试使我的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脚本中.
我怎么能在一行中做到这一点?
我正在使用批处理文件 folder1/folder2/file.bat
父文件夹中有一个批处理文件folder1,我想打开它file.bat
我尝试过使用:
start ..\..\code.bat
Run Code Online (Sandbox Code Playgroud)
但是这会导致错误消息,因为找不到文件.
有任何想法吗?
我知道,在比较批处理文件中的内容是否相等时,通常将两边括在引号中,例如
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未定义,并且它似乎有效。
这是比较数字和计算未声明变量的安全方法,还是我只是提出了一个全新的警告?
我有两个批处理文件。一个是主(调用者)文件,一个是函数。该函数接受一个参数,执行一些操作,然后我想将字符串返回给调用者 (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 中读取它,因为我想让它作为一个易于使用的功能工作。
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) .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) 我有一个批处理文件,我在其中通过传递某些参数来调用一个应用程序。
这是我的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。这样做是最佳做法吗?在执行批处理文件之前更改当前工作目录。
我是批处理新手,因此我无法弄清楚,为什么会出现语法错误??
这是我的代码:
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)
这只是一个“为了好玩”的项目,但我想知道为什么我会收到这个烦人的错误!
我有一个包含类似文件的库
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 …
我有一个抓取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)