我正在尝试批量编写一个子例程,以确定计算机是否安装了 Deep freeze 或已安全解冻。(对于那些不知道的人来说,Deep Freeze是一个通常用于恢复/防止操作系统中的磁盘更改的程序。)dfc.exe是 Deep Freeze 安装的一个可用于确定的文件。如果解冻则返回 0,如果冻结则返回 1
基本上,我认为如果计算机被冻结,运行安装某些东西的脚本是毫无意义的。首先,我检查是否安装了 dfc.exe,然后尝试检查解冻/冻结状态,但问题是,由于某种原因,dfc 的返回值似乎没有更新我第二次检查错误级别的位置。
任何人都知道为什么我看不到第二个 ErrorLevel 检查的返回值(第 41 行),我也包含了下面的代码。
编辑:在代码之前添加了我的思考过程的伪代码。
::Point1
IF Dfc.exe is present then (
::Point2
If "dfc get /ISFROZEN" returns FROZEN then (
::Point3
Write out to file so we can know that something was skipped,
goto EOF to close out of script and avoid wasting cycles installing
)
::Point4
::Deep freeze is installed, but thawed or it would have gotten caught …Run Code Online (Sandbox Code Playgroud) 我有一个批处理脚本,用于快速启动我的开发环境。看起来像这样
:: Update checkout
git pull
:: Compile code with Maven
call mvn clean install -Pui
:: File for a program called Free File Synch which persists changes from one
:: part of the file system (my checkout) to another (the static cache generated
:: by Maven)
source-to-server.ffs_real
:: Navigate to the front-end
cd .\target\frontend
:: Serve to localhost
python -m SimpleHTTPServer 80
Run Code Online (Sandbox Code Playgroud)
我想要做的是终止由source-to-server.ffs_real(它被称为RealtimeSync.exe)启动的进程——换句话说,在设置之前包括一种拆卸。在其他地方我已经阅读过pkill,killall但这些在我的 PATH 中不可用。当然必须有一个windows本机的方式来做到这一点?
我是批处理文件脚本的新手。我创建了简单的 Windows bat 文件。问题是 bat 文件仅在用户具有管理员权限时运行。但我想为所有用户(如普通用户、标准用户和来宾等)运行此批处理文件.我用过windows 7。
Access is denied.
[2013-09-18 09:55:07] [error] Unable to open the Service Manager
[2013-09-18 09:55:07] [error] Access is denied.
[2013-09-18 09:55:07] [error] Access is denied.
Access is denied.
Failed to install service
Run Code Online (Sandbox Code Playgroud)
是否可以为所有用户运行 Windows bat 文件?
将 shell 脚本转换为批处理文件是非常乏味的。有没有办法自动轻松地执行 .sh 到 .bat 的转换,反之亦然?
我已经创建了一个.bat文件来运行我的 cwRsync 脚本。
从 CMD 行,这很好用:
rsync -avz ./ {destination} --chmod=ugo=rwX --rsh "ssh -i id_rsync -p 9672" --recursive --delete
现在,如果我把它放在一个.bat文件中,它就会进入一个无限循环。这是我的 bat 文件:
@ECHO OFF
ECHO ** Pushing files **
SET CWLOCAL = "C:/dev/view-resources"
SET CWREMOTE = "user@mydevserver.com:/home/dev"
SET EXLUDES = "--exclude=.git* --exclude=*.scss --exclude=cache"
rsync -avz %CWLOCAL% %CWREMOTE% --chmod=ugo=rwX --rsh "ssh -i id_rds -p 9672" --recursive %EXCLUDES% --delete
Run Code Online (Sandbox Code Playgroud)
为什么这个 .bat 文件会循环?我尝试end在最后添加,但这无济于事。
我想在 .bat 文件中记下一些笔记。哪些代码可以添加到注释中,以便它们不会被视为要运行的命令?
所以我需要创建一个批处理文件,以便我可以在启动时运行程序。我在网上查看并找到了一个非常简单的制作批处理文件的说明。我打开记事本并放入
start "c:\windows\windows32\" notepad.exe
Run Code Online (Sandbox Code Playgroud)
保存了它,它运行良好,所以开始制作我的。
再次在记事本中。
start "c:\server\" fcserver.exe
Run Code Online (Sandbox Code Playgroud)
得到 windows 找不到文件的错误信息,但它肯定存在。为了确保路径正确,我将 notepad.exe 复制到有效的服务器文件夹中。
start "c:\server\" notepad.exe
Run Code Online (Sandbox Code Playgroud)
它似乎没有看到 fcserver.exe 虽然我可以看到它并且我可以使用相同的路径从 CMD 运行它。
我刚开始编码,我刚刚创建了一个 Windows 病毒(使用 bat 文件),但我想将它发送给一个使用 Mac 的朋友来测试它......这可能吗?或者我是否需要创建特定的 Mac 病毒才能使其工作?
如何编写一个批处理文件脚本来终止 java.exe 进程?我打算从 Windows 任务计划程序运行它。
谢谢。
batch-file ×9
windows ×3
windows-7 ×3
batch ×1
code ×1
command-line ×1
deep-freeze ×1
java ×1
powershell ×1
process ×1
rsync ×1
shell ×1
shell-script ×1
virus ×1
windows-10 ×1