这是损坏的批处理文件:
@echo off
if prod==prod (
if xps==xps (
set i1=prodxpsi1
set i2=prodxpsi2
set e1=prodxpse1
set e2=prodxpse2
) else (
set i1=prodzpsi1
set i2=prodzpsi2
set e1=prodzpse1
set e2=prodzpse2
)
if 1==1 (
echo %i1%, %i2%, %e1%, %e2%
) else (
echo %i1%, %i2%, %e1%, %e2%
)
)
pause
Run Code Online (Sandbox Code Playgroud)
但是,当我if prod==prod像这样取出外部块时,它可以工作:
@echo off
if xps==xps (
set i1=prodxpsi1
set i2=prodxpsi2
set e1=prodxpse1
set e2=prodxpse2
) else (
set i1=prodzpsi1
set i2=prodzpsi2
set e1=prodzpse1
set e2=prodzpse2
)
if 1==1 ( …Run Code Online (Sandbox Code Playgroud) 我需要运行“runas”命令以自动登录 Active Directory 上的应用程序用户。然后我需要运行一个可执行文件。
我可以以某种方式执行此操作或解决不键入密码的问题吗?
我%PATH%对注册表中的变量进行了一些更改。现在,我希望看到应用这些更改,而无需注销、重新启动或重新加载 Explorer。有没有办法做到这一点?
我宁愿通过某种可以放在.BAT文件末尾的命令来执行此操作,并且不想使用除全新安装操作系统随附的工具之外的任何工具。这需要与 Windows XP SP3 最低限度地兼容,并且应该一直工作到 Windows 7 x64 和 Server 2008 R2。
我需要在带有 GNOME 的 Red Hat Linux 5 虚拟机上运行一些基本命令来启动几个服务器。
例子
cd /home/user/scripts
sh runTHISthing.sh pub
cd /home/user/logs
tailf pub.log
Run Code Online (Sandbox Code Playgroud)
不是疯狂的代码量,但有时我每天重启 VM 好几次。在 Windows 中,我可能只是创建一个批处理文件并将其放在我的桌面上。然后只需双击即可。
无论如何在Linux中做同样的事情吗?我试图创建一个启动器,它只在终端中运行 emtpy 文件而没有结果。
我有一个作为计划任务运行的批处理文件。为了举例,我们称之为alltasks.bat。
它看起来像下面这样:
@ECHO OFF
clearwebtemp.bat > clearwebtemp_out.txt
clearblahtemp.bat > clearblahtemp_out.txt
clearblihtemp.bat > clearblihtemp_out.txt
Run Code Online (Sandbox Code Playgroud)
当被调用的脚本都没有更改目录时,这可以正常工作,但如果它们这样做,则主脚本无法完成剩余的批处理调用或将输出通过管道传输到文件。
我尝试使用该start命令,但可以预见的是,该start命令的输出是通过管道传输的,而不是批处理文件本身的输出。
我还尝试使用%CD%脚本顶部的变量保留当前工作目录,然后在每次调用后切换回它,但是文件的管道输出是在脚本切换到的目录内完成的,这似乎没有有意义。
是否有明显(或不那么明显)的方法来实现我想要完成的目标?
看来我可以使用start或call来执行批处理文件,但是我不确定为什么要使用一个而不是另一个。有什么好处?
假设安装了 Microsoft Office。考虑以下批处理文件:
REM the following line successfully launches Microsoft Word
start winword
REM none of the following commands work to launch Microsoft Word
winword
winword.exe
winword.com
winword.bat
winword.cmd
winword.vbs
winword.vbe
winword.js
winword.jse
winword.wsf
winword.wsh
winword.msc
Run Code Online (Sandbox Code Playgroud)
允许使用名称“winword”启动 Microsoft Word 的“开始”指令是什么?
我的好奇心源于我对“开始”动词机制的兴趣 - 我不需要有关启动 Microsoft Office 的其他方法的建议。请不要建议我将 Microsoft Office 目录添加到我的 PATH 环境变量中 - 我知道这会做什么。
如何start找到“WINWORD”时,cmd不能直接找到它呢?
我有一个名为 Export.txt 的纯文本文件。它包含一个地理位置列表,前面是一个带前导零的 3 位数字。
例子
--START OF FILE--
001 Aberdeen
002 Bellevue
003 Camas
004 Davenport
005 Edgewood
006 Ferndale
007 George
008 Harrington
009 Ilwaco
010 Kahlotus
--END OF FILE--
Run Code Online (Sandbox Code Playgroud)
如何编写脚本或批处理文件来读取文件中的每一行并在 NTFS 分区的给定位置创建一个具有此名称的文件夹?
笔记!请注意,文件夹名称必须包含数字。将上面的列表视为文件夹的实际列表。
更新!我要创建的实际文件夹列表是 245,范围从 001 到 245。这是前几行。
--START OF FILE--
001 Harberget
002 Långflon
003 Källegrafsrös
004 Badstuknappen
005 Aspberget
006 Knipen
007 Halsjön
008 N Finnskoga
009 Båtstad
010 Tisjön
.
.
.
.
245 Milskär
--END OF FILE--
Run Code Online (Sandbox Code Playgroud)
完整列表可以在这里找到:http : //pastebin.com/SNde4bBN …
我创建了一个使用 3 种不同桌面配置的环境,但是每次重新启动时,我都必须手动打开该目标桌面中的每个程序,使其看起来像以前一样。
所以,我想写一个.bat文件,让我的所有程序都能在合适的桌面上运行。我想知道这样的事情是否可能:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -desktop:2
"C:\Program Files\My\Other\Software.exe" -desktop:3
...etc.
Run Code Online (Sandbox Code Playgroud)
显然,这个例子不是真实的,但我希望有类似的东西。我不在乎它是否是 hacky :)
我在理解嵌套 IF 在 windows .bat 脚本中的工作方式时遇到了一些困难。我希望实现的目标如下。我将向 bat 文件传递两个参数
如果第一个参数 = 0 AND 如果第二个参数 = 0 运行 proc1
IF 第一个参数 = 0 AND 第二个不是 0 运行 proc2
如果第一个参数不是 0 run proc 3
到目前为止我编写的代码框架是
@echo off
IF %1% == 0 (
IF %2% == 0 ( goto proc1
) ELSE ( goto proc2
)
ELSE ( goto proc3
)
:proc1
echo in Proc1 0 0
pause
exit
:proc2
echo in Proc2 0 N0
pause
exit
:proc3
echo in Proc3 N0 0
pause …Run Code Online (Sandbox Code Playgroud) batch-file ×10
windows ×6
command-line ×3
batch ×2
script ×2
shell-script ×2
cmd.exe ×1
linux ×1
prompt ×1
runas ×1
windows-10 ×1