我有计划每天运行的批处理脚本。一些脚本中有密码。我想保护批次不被那些未被授权打开或读取它们的人读取或打开。
我的问题是:保护批处理文件的好方法是什么?是否有编译批处理文件的免费或开源工具?
我有一个 .bat 文件。我想以编程方式获取 .bat 文件的名称。我怎样才能做到这一点?
这是我的最终目标
"..\lib\nant\nant.exe" -buildfile:nant.build {{pass in name of this file here}}
pause
Run Code Online (Sandbox Code Playgroud) 我有一个运行批处理文件的计划任务,尽管我可以看到它成功完成的结果,但根据任务计划程序,它每次都失败并显示错误0xff。
我安排了其他批处理文件,它们也成功完成并按应有的方式返回0x0。我可以看到这些文件之间的唯一区别是工作文件以:
IF ERRORLEVEL 1 (
("notify me" script here)
)
Run Code Online (Sandbox Code Playgroud)
而破碎的则以:
IF %2==something (
(run a program here)
IF ERRORLEVEL 1 (
(same "notify me" script here)
)
)
Run Code Online (Sandbox Code Playgroud)
IF 块是否返回0xff如果为 false 或什么?这是怎么回事?
假设我的路径是 C:\WINDOWS\system32\;C:\Program Files\Important\
SET NEW_PATH=C:\My\Dir\
SETX PATH "%PATH%;%NEW_PATH%"
Run Code Online (Sandbox Code Playgroud)
结果路径为:
C:\WINDOWS\system32\;C:\Program Files\Important\;C:\My\Dir"
注意路径末尾的引号。就好像 %NEW_PATH% 末尾的反斜杠逃脱了最后的引号。我需要引号,因为我的路径中有空格,但我不希望反斜杠被解释为转义字符。
在对 SETX 的调用中包含我的 PATH 的正确方法是什么?
我想将路径作为参数发送给可执行文件。
我想做这样的事情:
pushd some\folder
set x=cd
popd
MyExe.exe %x%
Run Code Online (Sandbox Code Playgroud)
问题是 x 变量现在等于字符串“cd”,但我想要的是将 cd 的输出转换为 x。
我怎么做?
首先,我不能使用组策略,因为我们的团队不管理它。该公司是一家庞大的 FTSE 公司,拥有一支涵盖您能想到的 IT 各个方面的团队。
我们的团队需要一种通过批处理文件或使用 Windows Installer 和 .msi 文件的脚本远程安装程序的方法。
到目前为止,我已经成功地使用 psexec 安装了 Java(见下文)
psexec \\pcname -u *username* -p *password* -i
msiexec.exe /a "msilocation\install.msi"
Run Code Online (Sandbox Code Playgroud)
这没有任何问题。但是我想要一些比这更自动化的东西。
但是,我想要做的是能够从我的机器运行脚本或批处理文件,以便在列出的所有远程工作站上安装 msi。我很确定你可以在批处理文件中列出工作站,但我可能错了。
老实说,如果我必须在脚本或批处理文件中进行修复,我不会大惊小怪。我只是不能使用组策略等。
我们使用一个包含以下内容的批处理文件在镜像后激活我们的windows域计算机:
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr -ato
Run Code Online (Sandbox Code Playgroud)
这很有效,但有一个问题:在每个命令之后都会出现一个对话框,并且文件在您关闭它之前不会继续。
有没有办法抑制对话框?(成功,而不是错误)。一种在没有用户干预的情况下至少执行两个命令的方法也很好(走过 50 多台计算机并按 Enter 键会很无聊)
我创建了一个批处理脚本,它将通过修改hosts此位置的文件来阻止 FacebookC:\windows\system32\drivers\etc\hosts
这是批处理文件的内容:
@echo off
echo 127.0.0.1 www.facebook.com >> C:\windows\system32\drivers\etc\hosts
exit
Run Code Online (Sandbox Code Playgroud)
我已经在我的本地机器上测试了这个批处理文件并且它可以工作,但是只有当我以管理员身份运行它时才能工作。
是否可以将此批处理文件部署到我网络上的所有计算机,并使用组策略以管理员身份运行?
我正在使用 Windows Server 2012。
我在 stackoverflow 上问过这个问题,但我在这里被提及。
我有一个服务器,我将在其中存储要安装到客户端 PC 的程序的安装程序。
客户端 PC 将通过脚本(批处理或其他无关紧要)下载未安装在其上的程序,然后静默/无人值守地安装它们。
这就是问题所在。当许多安装程序不提供命令行参数时,我将如何进行无人值守安装?
有什么建议?
基本上,我们有许多客户使用一些 Vista 机器运行 XP 和 7。
我找到了这个批处理脚本,但它仅限于当前用户(使用 %userprofile% 环境变量)。我正在寻找这样的东西,但它会为计算机上的所有用户帐户运行。该脚本将以管理员身份运行。
对于 XP,它会删除以下内容:
Local Settings\Temp
Local Settings\Temporary Internet Files
对于 Vista/7,它将删除以下内容:
AppData\Local\Temp
AppData\Local\Microsoft\Windows\Temporary Internet Files
我对脚本编写相对缺乏经验,我不确定批处理文件是否可以做到这一点。有没有人沿着这条路走下去并找到了解决方案?
batch-file ×10
windows ×5
windows-7 ×2
activation ×1
files ×1
group-policy ×1
installation ×1
msi ×1
nant ×1
pstools ×1
scripting ×1
vbscript ×1
windows-xp ×1