我正在编写一个批处理,用户必须输入一个设备列表才能作为批处理参数激活.该列表可以包含随机顺序的设备号和/或名称以及可能的重复和残留物(即,不存在或不存在就绪设备).batch :default部分以随机顺序存储数组dev _#=所有当前Ready设备的名称.初始任务是过滤用户输入以排除重复项和残留项,并显示要激活的已排序的准备好的设备号列表.然后激活该列表中的设备.什么样的高效短代码可以完成过滤任务?
@echo off
setlocal EnableDelayedExpansion
:default
set "dev_1=AB" & set "dev_2=BA" & set "dev_3=AC" & set "dev_16=CA" & set "dev_19=BC" & set "dev_6=CB" & set "dev_7=ZA"
set "dev_8=AZ" & set "dev_29=UA" & set "dev_10=YZ" & set "dev_18=YW" & set "dev_12=AK" & set "dev_13=AJ" & set "dev_14=HT"
rem batch arguments entered by user
rem 1 3 6 AB BA YZ 12 17 21 YK AU AK BA BU ZA
rem Desired sorted filtered output …Run Code Online (Sandbox Code Playgroud) 我一直试图这样做,但已经在命令行中输入:
CHKDSK C: /f
Run Code Online (Sandbox Code Playgroud)
我试图查找如何做到这一点,但我不是那么大的蝙蝠文件编程和更多,所以我只是一个小程序员学习java atm ...我想知道如何做到这一点,所以知道如何计算它.因为它可以长期帮助我,并在短期内帮助我.
非常感谢.:)
我想使用Delphi(7)的DOS命令显示目录的内容.使用Win10 - 64
以下程序显示DOS shell但不显示目录内容.我的代码出了什么问题?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, shellapi;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
i := ShellExecute(Handle, nil, 'cmd.exe', PChar(' dir'), nil, SW_SHOW);
caption := inttostr(i);
end;
end.
Run Code Online (Sandbox Code Playgroud) 所以我一直在研究这个批处理脚本一段时间,这是我写过的第一个.我们的想法是连接到我们域中的远程计算机并收集一些信息.
我正在使用一个带有机器IP地址的.txt文件,每行一个,每个用逗号分隔.
192.168.1.1,
192.168.1.2,
192.168.1.3
出于某种原因,一旦脚本到达文件中的最后一个IP地址,它就会查询一个空格.此空白区域是尾随空格字符吗?以及如何防止这种情况发生?
我目前获得脚本设置的方式意味着当计算机无法访问时,它会将消息回显给日志文件.所以每次我运行脚本时都会添加一条额外的行说"(BLANK SPACE) 机器无法访问 "我知道这只是一个小问题,但它让我烦恼.
这是我的代码
@echo off
title Audit Script
for /F %%i in (C:\testlist.txt) DO call :test %%i
:test
ping %1 > out.txt
find "Reply" out.txt > nul
if %ERRORLEVEL%==0 GOTO sysinf
if %ERRORLEVEL%==1 GOTO pingerror
:pingerror
echo %1 Unreachable
echo. >> C:\Computer-Audit.log
echo ########################################################## >> C:\Computer-Audit.log
echo MACHINE %1 was unreachable on the %date% at %time% >> C:\Computer-Audit.log
echo ########################################################## >> C:\Computer-Audit.log
echo. >> C:\Computer-Audit.log
GOTO :eof
:sysinf
psexec \\%1 -u Administrator …Run Code Online (Sandbox Code Playgroud) 我想跑,cmd.exe "D:a.bat"但没有得到任何东西.当我通过双击运行批处理文件时它可以工作.
批处理文件中的代码是:
echo teztttttt >> a.txt
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我理解为什么使用cmd.exe运行命令不会产生预期的结果.
我已经整理了一个供最终用户使用的批处理脚本.除了让用户认为某些事情正在发生之外没有特定的功能目的,我想让脚本在继续执行之前等待几秒钟.在Vista及更高版本中,这可以通过以下方式轻松完成TIMEOUT /3.
但是,我想TIMEOUT用自己的自定义输出替换命令的默认输出,同时保留其倒计时功能.据我所知,TIMEOUT也没有等效PING或SLEEP方法支持这一点,所以这必须手动完成,我想知道最简单的方法是什么.
如下所示,我有一个名为“ Current Path.bat”的批处理文件存储在“ C:\ A \ B \”中。
C:\A\B\Current Path.bat
Run Code Online (Sandbox Code Playgroud)
我想做的是输出当前目录的父目录/上目录的完整路径(即批处理文件的存储/执行位置)。
在这种情况下,预期结果应为:
C:\A\
Run Code Online (Sandbox Code Playgroud)
目前,我已经找到一种解决方法,但这并不是完美的选择。我想知道是否有更好的解决方案。
我目前的解决方法:
@echo off
set current_path=%cd%
echo Current Path: %current_path%
cd ..
set upper_path= %cd%
echo Upper Path: %upper_path%
Run Code Online (Sandbox Code Playgroud)
结果如下:
C:\>cd a
C:\A>cd b
C:\A\B>"Current Path.bat"
Current Path: C:\A\B
Upper Path: C:\A
Run Code Online (Sandbox Code Playgroud)
我正在使用ionic2并希望访问我已安装的应用程序代码,
现在,当我在cmd中运行命令" adb devices "时,它显示错误为
"'adb'未被识别为内部或外部命令,可操作程序或批处理文件."
我该怎么办 ?
在我的一个批处理脚本中,我需要计算视频文件中间隔的持续时间.首先,要求用户输入开始和结束时间:
set /p StartPosition=Start position (HH:MM:SS):
set /p EndPosition=End position (HH:MM:SS):
Run Code Online (Sandbox Code Playgroud)
然后,我希望批处理脚本计算两者之间的持续时间.
我怎么能减去%StartPosition%从%EndPosition%这样的,例如:
00:10:40 - 00:10:30 = 00:00:10
我无法弄清楚如何做到这一点的原因是因为这些数字是用冒号分隔的.
编辑:这个问题与这个问题不同,因为我不需要将数字作为时间值来处理.
我尝试运行schedule.bat:
@echo off
C:\scripts\batch1.bat
C:\scripts\batch2.bat
C:\scripts\batch3.bat
Run Code Online (Sandbox Code Playgroud)
每个batchx.bat的位置是:
@echo off
pushd "C:\otherfolder\"
echo "start batch1"
someprogram.exe parameter1
echo "batch1 end"
popd
Run Code Online (Sandbox Code Playgroud)
(不同的参数,有时更多的一些程序,所以我不能在循环中做到这一点)
当我尝试运行schedule.bat时,它只执行第一个bat(在本例中为batch1)
当我将内容复制到一个蝙蝠 - 它正常工作,所以这对我的程序没有问题 - 批处理1结束也是schedule.bat ...