我正在尝试创建一个脚本来在关机时执行 exe 以安装 sp1。我的脚本类似于(不是实际的 bat 脚本)。
If installed GOTO END
Install.exe
END:
Run Code Online (Sandbox Code Playgroud)
我的问题是,当它运行时,它启动安装程序,然后完成脚本,因为安装程序是一个不同的进程,然后关闭安装进程,因为计算机正在关闭并关闭系统(至少,我是这么认为的)它在做。)
有没有办法告诉它等待它启动的进程完成然后关闭?
我刚刚有两次 Windows 7 停止执行,直到我在命令提示符/powershell 上按 Enter 键。之后的执行似乎按预期继续。
首先是复制命令的批处理文件,例如
copy //host/file2010-1*xml localfolder/01/
copy //host/file 2010-2*xml localfolder/02/
Run Code Online (Sandbox Code Playgroud)
一个文件似乎需要很长时间。我检查了文件夹,它是完整的,按回车键,突然间它恢复了活力以获取其余部分。
第二个是 powershell 中的一个 Java 程序(一个 ETL 作业),它在即将输出 SQL 重复键警告时暂停。我无法确认实际执行是否停止,但我怀疑没有。我刚刚在打字时重复了这一点。
我的更有经验的同事在他编写的 .net 程序中也看到了同样的事情。
我怎样才能避免这种情况?我错过了什么?Windows 是否会变得孤独并需要轻轻推动?
当我运行名为“myfile”的用户应用程序之一时。
$ ./myfile
Run Code Online (Sandbox Code Playgroud)
我收到以下输出
bash: ./myfile: cannot execute binary file
Run Code Online (Sandbox Code Playgroud)
我的用户希望运行二进制文件。我认为这是一个编译错误,但无法确认。我运行了文件命令
$ file myfile
myfile: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
Run Code Online (Sandbox Code Playgroud)
我的 RHEL6 操作系统是 64 位
$ uname -p -o
x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
所以在我看来,它符合正确的架构。我不明白“可重定位”在文件命令的输出中是什么意思,并且无法从手册页中获得解释。
为了更好的衡量,我检查了共享库依赖项
$ ldd myfile
not a dynamic executable
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让我运行这个文件,或者给我的用户一些关于它为什么不运行的建设性信息(比如他需要使用 x 重新编译)?
$ strace ./myfile
execve("./myfile", ["./myfile"], [/* 22 vars */]) = -1 ENOEXEC (Exec format error)
dup(2) = 3
fcntl(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 …Run Code Online (Sandbox Code Playgroud) 我为开发人员分发了一个实用程序,该实用程序旨在驻留在服务器共享上,并从本地 PC 或终端服务/Citrix 会话上的服务器执行。它不需要任何管理员权限。除了将其拖放到服务器共享上之外,没有其他安装过程。它是数字签名的。
有人告诉我,一些 IT 部门不喜欢以这种方式在服务器上共享 exe。我可以做些什么来帮助向 IT 部门解释我的实用程序是良性的。
添加
我是该工具Auto FE Updater的开发者,它经过精心设计,不需要管理员权限。它是一个独立的 exe,除了开发人员使用该工具创建的一些配置 (INI) 文件外,没有安装依赖项。
此工具由用户执行一小段时间,同时它会检查服务器上的 Access 前端数据库和相关文件是否有任何更新。使用该工具的开发人员可能会在更新设置时运行它两到五分钟。
Windows 中是否有任何日志文件可以跟踪所有 EXE 调用,或者是否可以启用此类日志?这会包含这些调用的参数/参数吗?
谢谢
我正在尝试重命名大量文件,以将文件资源管理器中“修改日期”列中的日期合并到 YYYYMMDD 格式的每个文件名中。我能够使用以下步骤从内部所有文件的所需文件夹生成报告:
dir>filename.txt然后我将报告作为带分隔符的文本文件拉入 Excel 并处理内容,因此我现在在一列中有“最后修改”日期,在另一列中有文件名:
修改日期| 文档名称
1/9/2009 | ArcGIS_TT_Projections_Transformations.doc
2/18/2014 | ArcGIS_TT_Re-Projection_WMAS.docx
1/9/2009 | ArcGIS_TT_Set_Selectable_Layers.doc
1/9/2009 | ArcGIS_TT_Spatial_Join.doc
2010/4/21 | ArcGIS_TT_View_CLU_History_Layer.doc
我只成功使用了如下重命名脚本:
@echo off
setlocal enableDelayedExpansion
for %%F in ("ArcGIS_TT_Projections_Transformations*.txt") do (
set "name=%%F"
ren "!name!" "!name:ArcGIS_TT_Projections_Transformations=ArcGIS_TT_Projections_Transformations_20090109!"
)
pause
Run Code Online (Sandbox Code Playgroud)
但我试图避免对 61 个文件重复该过程。有没有人建议使用 Windows CMD 提示或一个简单的 .txt,我可以用它来更自动地将日期修改信息提取到文件名中?
谢谢你的帮助!
rename batch-file windows-command-prompt executable date-modified
这是一个gentoo服务器。有一个程序prog无法执行。(是的,执行权限已设置)
$ ls
prog
$ ./prog
bash: ./prog: No such file or directory
$ file prog
prog: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
$ pwd
/usr/local/bin
$ /usr/local/bin/prog
bash: /usr/local/bin/prog: No such file or directory
$ less prog | head
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, …Run Code Online (Sandbox Code Playgroud) 我想确保我的系统的用户无法修改文件 +x,并且我不希望 /home/ 或 /var/ 中的任何内容是可执行的。
我不能把它们放在不同的分区上。
运行 Ubuntu 9.04 服务器。
我有一台装有 ubuntu 9.10 的服务器。我正在尝试放置一个可执行文件,结果证明它是最新的 flashplayer(调试器版本)。
该文件以某种方式显示为存在且可执行,但在启动它时,控制台指示文件不存在:
rodrigo@ns360773:~/t_fplayer$ pwd
/home/rodrigo/t_fplayer
rodrigo@ns360773:~/t_fplayer$ ls -lh
total 12M
-rwxr-xr-x 1 rodrigo rodrigo 12M 2011-07-09 11:35 flashplayerdebugger
rodrigo@ns360773:~/t_fplayer$ ./flashplayerdebugger
-bash: ./flashplayerdebugger: No such file or directory
rodrigo@ns360773:~/t_fplayer$ ldd flashplayerdebugger
not a dynamic executable
Run Code Online (Sandbox Code Playgroud)
在我的本地机器上使用相同的可执行文件(通过 ssh 复制)工作正常。
知道发生了什么吗?什么可以解释这种行为?
知道如何解决这个问题吗?
这个问题是对为什么有些管理员不喜欢从服务器共享执行的 exe的跟进? 我开发了一个实用程序,它使 Access 开发人员的生活变得更加轻松。由于上述链接中的反馈,我将提供的一个选项是使 IT 部门可以在客户端系统上安装 MSI 文件。
我正在考虑的一种选择是让开发人员能够将 exe 从服务器共享复制到用户应用程序数据文件夹。另一种可能性是用户可以执行的 exe/msi,这也会将 exe 放在用户应用程序数据文件夹中。
注释?
我注意到 Google 在 App Data 文件夹中安装了 Chrome、Google Talk 和一大堆更新的 exe 和 dll。以及其他一些程序。并不是我想以此为借口。
添加
我收到了开发人员的评论,他们说他们只需要在一小部分正在使用的系统上使用我的实用程序。IT 部门将花费数月的时间来评估事物并且不想处理此类程序,除非它们是公司成像系统的一部分。此外,开发人员可能希望以比 IT 部门处理它的速度更快的速度推出我的实用程序的更新。
executable ×10
linux ×3
windows ×3
batch-file ×2
ubuntu ×2
architecture ×1
bash ×1
binary ×1
gcc ×1
gentoo ×1
permissions ×1
rename ×1
security ×1
shell ×1