标签: cmd

在批处理参数数组中筛选重复项

我正在编写一个批处理,用户必须输入一个设备列表才能作为批处理参数激活.该列表可以包含随机顺序的设备号和/或名称以及可能的重复和残留物(即,不存在或不存在就绪设备).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)

cmd batch-file filter

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

如何制作一个bat文件,要求用户提供他们想要修复的驱动器?

我一直试图这样做,但已经在命令行中输入:

CHKDSK C: /f
Run Code Online (Sandbox Code Playgroud)

我试图查找如何做到这一点,但我不是那么大的蝙蝠文件编程和更多,所以我只是一个小程序员学习java atm ...我想知道如何做到这一点,所以知道如何计算它.因为它可以长期帮助我,并在短期内帮助我.

非常感谢.:)

command cmd batch-file

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

从delphi显示目录

我想使用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)

windows delphi cmd shellexecute

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

为什么FOR/F从文件中获取数据时将空格作为有效行,如何防止这种情况?

所以我一直在研究这个批处理脚本一段时间,这是我写过的第一个.我们的想法是连接到我们域中的远程计算机并收集一些信息.

我正在使用一个带有机器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)

windows for-loop cmd batch-file psexec

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

如何在命令行中使用cmd.exe将输出保存到文件?

我想跑,cmd.exe "D:a.bat"但没有得到任何东西.当我通过双击运行批处理文件时它可以工作.

批处理文件中的代码是:

echo teztttttt >> a.txt
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我理解为什么使用cmd.exe运行命令不会产生预期的结果.

cmd batch-file

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

复制CMD"超时"倒计时以在自定义回显中打印

我已经整理了一个供最终用户使用的批处理脚本.除了让用户认为某些事情正在发生之外没有特定的功能目的,我想让脚本在继续执行之前等待几秒钟.在Vista及更高版本中,这可以通过以下方式轻松完成TIMEOUT /3.

但是,我想TIMEOUT用自己的自定义输出替换命令的默认输出,同时保留其倒计时功能.据我所知,TIMEOUT也没有等效PINGSLEEP方法支持这一点,所以这必须手动完成,我想知道最简单的方法是什么.

windows for-loop cmd batch-file

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

如何在命令行中获取父目录/当前目录的上层目录的完整路径

如下所示,我有一个名为“ 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)

我的解决方法的结果

windows cmd batch-file

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

'adb'未被识别为内部或外部命令,

我正在使用ionic2并希望访问我已安装的应用程序代码,

现在,当我在cmd中运行命令" adb devices "时,它显示错误为

"'adb'未被识别为内部或外部命令,可操作程序或批处理文件."

我该怎么办 ?

android cmd hybrid-mobile-app ionic-framework ionic2

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

在批处理文件中使用HH:MM:SS的算术运算

在我的一个批处理脚本中,我需要计算视频文件中间隔的持续时间.首先,要求用户输入开始和结束时间:

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

我无法弄清楚如何做到这一点的原因是因为这些数字是用冒号分隔的.

编辑:这个问题与这个问题不同,因为我不需要将数字作为时间值来处理.

cmd batch-file

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

如何批量运行批处理

我尝试运行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 ...

windows cmd batch-file

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