Articles of batch file

读取一个参数并批量运行一个程序

好吧,所以我知道批量运行一个.exe你使用START。 不过,让我解释一下.exe是如何工作的。 比方说我在C:\ ,它叫做uptime.exe。 我会去运行并调出cmd并导航到C:然后键入到CMD下面: uptime.exe computername 。 但是,为了运行它,我总是需要经过进入cmd提示符并inputuptime.exe computername 。 我想创build一个batch file,提示用户名并附加到启动.exe,但我的尝试失败。 这是我的: @echo off color 0E :start SET /P pcname=Type in Computer's Name: echo. start "c:\windows\system32" uptime.exe /%pcname% echo. ECHO Press any key to close this window. pause>nul

从Windows cmd运行多个文件的Python脚本

我想从Windows CMD运行python脚本。 当我在linux下运行它时, python myscript.py filename??.txt 它通过从filename01.txt到filename18.txt的数字文件,它的工作原理。 我试图从cmd运行它 python myscript.py filename*.txt 要么 python myscript.py filename**.txt 但它没有工作。 如果我在Windows cmd中的单个文件上尝试脚本,它的作品。 你有什么线索可以解决问题吗? 谢谢!

批量从variables中删除%

我有以下代码: @echo off SET A=%%1 echo %A% pause 当我执行它说 %1 Press any key to continue . . . 我需要摆脱从1的%,所以它会读取 1 Press any key to continue . . . 有谁知道我能做什么。

使用.bat根据名称中的模式将文件分类到文件夹中

考虑一个父文件夹 C:\Users\..\Parent 在父母下面有三个文件夹M1,M2,M3 C:\Users\..\Parent\M1 C:\Users\..\Parent\M2 C:\Users\..\Parent\M3. 在M1,M2,M3下有100个子文件夹。 C:\Users\..\Parent\M1\MattP001M1 C:\Users\..\Parent\M1\MattP002M1 so on till C:\Users\..\Parent\M1\MattP100M1. 同样对于M2,M3也是如此。 在每个文件夹(MattP001M1..MattP100M1)下面都有大量的.wav文件(平均接近1500)。 这些wav文件在命名中有一个模式。 例如: German_09mea4567_morename有20个文件, German_09mea4567_morename 15个文件等等。 我正在使用这个脚本将它们分组在基于(09mea4567)之后的独特部分的文件夹中。 SETLOCAL ENABLEDELAYEDEXPANSION for %%a in (*.wav) do ( set f=%%a set g=!f:~7,8! md "!g!" 2>nul move "%%a" "!g!" ) 现在这对一个文件夹是好的。 我想为M1(MattP001M1,..,MattP100M1),M2,M3下的所有文件夹执行此操作。 请注意:这是一台机器上的设置。 在一个不同的机器,而不是德语有一些其他的语言。 希望我让自己更清楚。

批量回显命令到文件不会转义

我正在编写一个脚本来自动化新服务器上的备份设置。 我不是批量专家,所以它保持相当简单(参见http://pastebin.com/D1zEP8dj )。 一切工作的地方,我试图写另一个批处理脚本到一个文件: ( echo del "%BACKUP_SERVER%Snapshot-%%COMPUTERNAME%%\Week_before\*.*" /S /Q echo. echo move /Y "%BACKUP_SERVER%Snapshot-%%COMPUTERNAME%%\Full\*.*" "%BACKUP_SERVER%Snapshot-%%COMPUTERNAME%%\Week_before" echo move /YC:\Scripts\Backup.log "%BACKUP_SERVER%Snapshot-%%COMPUTERNAME%%\Week_before" echo move /YC:\Scripts\Backupdiff.log "%BACKUP_SERVER%Snapshot-%%COMPUTERNAME%%\Week_before" echo. echo. echo C:\Scripts\snapshot.exe C: "%BACKUP_SERVER%Snapshot-$computername\Full\$disk-Partition-$type.sna" –LogFile:C:\Scripts\Backup.log -L50000 -GX –usevss –AllWriters echo @echo off echo if %%errorlevel%% NEQ 0 ( echo echo Error while Backup at %%COMPUTERNAME%%.%%USERDOMAIN%% ^| C:\Scripts\blat\blat.exe -server %BLAT_MAILSERVER% […]

为什么这个batch file崩溃?

我正在尝试使用批处理脚本编写一个程序(我不知道其他编程语言),这节省了我在多个表上的时间,为PnP RPG创build了一个随机的相遇。 该程序模拟一个d100滚动使用 set /a nsides=100 set /a d1=%random%%%nsides+1 然后针对100个不同的if / goto命令检查d1的值 if %d1%==1 goto loc1 if %d1%==2 goto loc1 if %d1%==3 goto loc1 if %d1%==4 goto loc2 if %d1%==5 goto loc2 if %d1%==6 goto loc2 if %d1%==7 goto loc3 将程序路由到设置新variablest1的代码行,无论表格是用d1卷发生的。 然后,程序在程序中抛出另外两个表,以获得variablest1,t2和t3,以生成描述遇到的地方,遇到的人以及发生的地方的句子。 从我可以告诉它通常发现t3时崩溃。 t3有点棘手,因为有时它也会产生一些敌人。 例如:UL2 set /a UL1a="%RANDOM% %% 4"+"%RANDOM% %% 4"+4 set /a UL1b="%RANDOM% […]

在调用Windows可执行文件时模拟用户input

我正在尝试将密码传递到Windows可执行文件(模拟用户input)。 每当我尝试这样做,我得到“没有控制台可用于安全input”。 可执行文件是一个名为cdxdbi的ORACLE可执行文件。 我试图这样调用它: CDXDBI.exe < params params是包含密码的文件。 如果没有参数,可执行文件会提示一个cmdterminal提示input密码(两次)。 我怎样才能将参数注入terminal? 不幸的是,我没有关于exe的更多信息。 任何人都有同样的问题,可以提供一个解决scheme? 最好的问候,塞巴斯蒂安

如何从探索的任何地方拖动文件的path

我想要devise一个使用C#的应用程序来让容器能够从Windows资源pipe理器中的任何位置拖动一个.xml文件。 然后,得到这个文件的path,调用一个函数来使用.bat文件来处理这个文件。 例如,我将Super.xml文件从Windows资源pipe理器拖到我的应用程序,然后应用程序将使用一个bat文件来处理我刚刚拖入的xml文件。然后,我可以使用记事本++或IE页面输出文件已经被bat文件执行了。 使用这个bat文件的cmd是:x:\ sample.bat super.xml

为什么我无法使用Windows Server 2008中的system()服务启动batch file?

我有一个在64位Windows Server 2008机器上作为服务运行的C ++程序。 该程序尝试使用以下命令启动batch file: system(C:\pathtofile\file.bat) 在32位的Windows Server 2003这工作正常(batch file已执行),但在Windows Server 2008batch file不执行,我得到一个返回值0xC0000142(我有batch file写入文件作为文件一个testing,看看它是否执行)。 即使我尝试执行一些不存在的东西,我也会得到相同的返回值。 我阅读了Windows Server 2008中的Session 0隔离,所以我使用psexec在Session 0中启动一个命令提示符,作为与该服务的“Log On As”用户相同的域用户: psexec -i 0 -u DOMAIN\serviceuser -p passwd cmd.exe 然后,我可以从命令提示符下成功执行batch file。 被列为服务的login身份用户的域用户位于pipe理员组中。 另外,如果我手动启动C ++应用程序(而不是服务),它将启动batch file。 那么是否有什么关于会话0隔离,使得system()调用在作为服务运行时不起作用? 或者对行为改变有其他解释吗? 我知道系统()不一定是最好的方法来做到这一点,但我正在寻找这个不再起作用的实际原因。

如何让我的.bat文件运行linux命令到远程linux

以下是我目前的.bat内容。 我在窗口cmd上运行它。 它会连接到远程Linux服务器,并提示我密码。 但后我把密码和login为远程主机,Linux服务器不会运行我的LS命令。 请帮忙。 @echo off ssh remotehost@10.1.1.10 ls