批处理脚本 - 按计算机名称映射网络驱动器(batch script - map network drives by computer name)
我正在尝试修改由域GPO作为登录脚本执行的当前脚本。 我有一个特殊情况,如果用户登录到域上的特定计算机,我需要映射不同的网络驱动器。 否则,所有其他计算机都会加载基本驱动器映射。
我尝试了以下两种方法但没有取得任何成功:
echo %COMPUTERNAME% | %SYSTEMROOT%\System32\find.exe /i "VMMACHINE" > nul: if %ERRORLEVEL% EQU 0 goto VMMACHINE-DRIVES
我试过了
if %COMPUTERNAME% EQU "VMMACHINE" goto VMMACHINE-DRIVES
有人可以帮忙吗?
I am trying to modify a current script that is executed as logon script by domain GPO. I have a special case where if users log into a specific machine on the domain, I need to map different network drives. Otherwise all other computers load the basic drive mappings.
I have tries both of the following without any success:
echo %COMPUTERNAME% | %SYSTEMROOT%\System32\find.exe /i "VMMACHINE" > nul: if %ERRORLEVEL% EQU 0 goto VMMACHINE-DRIVES
and I have tried
if %COMPUTERNAME% EQU "VMMACHINE" goto VMMACHINE-DRIVES
Can anyone help?
原文:https://stackoverflow.com/questions/17093938
最满意答案
在这种情况下,您没有真正的选择,只能使用像uin32_t / uint64_t这样的单一数据类型,只需让编译器将值分解为整数
int sp = 0; uint32_t stack[MAX_STACK_SIZE];
要么
像其他人所说的那样,创建一个堆栈,它是一个联合数组,可能使用标记的联合。 一个实现可能是......
union values { int i; float f; }; struct Type { int tag; union values val; }; Type stack[MAX_STACK_SIZE];
由你决定这个,但通常是这样做的。
in this case, you have no real choice but to use a single data type like a uin32_t/uint64_t and simply have the compiler break values down into integer
int sp = 0; uint32_t stack[MAX_STACK_SIZE];
OR
like the others have said, create a stack that is an array of unions, possibly using a tagged union. One implementation could be...
union values { int i; float f; }; struct Type { int tag; union values val; }; Type stack[MAX_STACK_SIZE];
It's up to you to decide on this but this is usually how it's done.
相关问答
更多-
允许垃圾收集器移动托管数据。 本机代码无法检测到这一点,因此可能会写入错误的内存地址。 但是你可以告诉.NET运行时不要移动你的数组。 例如,使用GCHandle类: GCHandle handle = GCHandle.Alloc(image, GCHandleType.Pinned); try { fastSegment(handle.AddrOfPinnedObject(), 640, 480); } finally { // make sure to free the handle ...
-
更改虚拟机的密码(Changing password of a Virtual Machine)[2023-02-12]
[不是问题的直接答案,而是替代方案] 您可以尝试将qcow2图像转换为raw,然后安装原始图像。 兑换: qemu-img convert -f qcow2 image.qcow2 -O raw image_raw.raw 安装: sudo losetup /dev/loop0 image_raw.raw sudo kpartx -a /dev/loop0 sudo mount /dev/mapper/loop0p3 /mnt/image sudo mount /dev/m ... -
Qt on Android - C ++代码是否在Dalvik虚拟机中运行(Qt on Android - does the C++ code run in the Dalvik virtual machine)[2023-10-04]
Android可以理解Dalvik或更新的ART。 Dalvik和ART都可以通过Android的NDK链接到C / C ++代码,这是Android对JNI的支持。 基于C ++的Android版QT仍然需要少量基于Java的初始化。 这意味着即使C ++代码本身 (基于体系结构)运行到底层操作系统,它仍然需要通过运行在VM上的代码(Android特定)呈现,因为VM不直接了解C ++,但可以链接通过它自己的基于Java的框架,它是Android NDK。 Android understands eith ... -
堆栈机器与字符串(Stack Machine with Strings)[2022-07-13]
那要看。 您想要将字符串或指针推送到字符串吗? 如果它是前者,则会出现问题,因为字符串将具有可变长度,与指针或数字不同。 如果是后者,则必须考虑堆栈之外的内存管理。 That depends. Do you want to push the string, or a pointer to a string? If it's the former, you have a problem, because the string will have variable length, unlike a pointe ... -
在回答具体问题之前,请注意:没有任何CPU直接执行C ++。 因此,语言级别的这种微优化问题在很大程度上取决于编译器,软件运行时环境和目标硬件。 完全有可能一种技术在你今天使用的编译器上工作得更好,但在你明天使用的编译器上更糟糕。 类似地,对于诸如CPU架构的硬件选择。 获得最佳答案的唯一方法是在现实情况下对其进行基准测试,而通常唯一的方法是了解基准测试结果,即深入了解生成的程序集。 如果这种优化对您很重要,请考虑学习一下开发架构的汇编语言。 鉴于此,我将选择一个特定的编译器(gcc)和一个通用架构(x86 ...
-
在这种情况下,您没有真正的选择,只能使用像uin32_t / uint64_t这样的单一数据类型,只需让编译器将值分解为整数 int sp = 0; uint32_t stack[MAX_STACK_SIZE]; 要么 像其他人所说的那样,创建一个堆栈,它是一个联合数组,可能使用标记的联合。 一个实现可能是...... union values { int i; float f; }; struct Type { int tag; union values val; }; ...
-
听起来你可能会遇到一点摩擦,因为这个问题已经有些奇怪了。 对于我的钱,我会通过重新安排你的问题来避免嘲笑的困难 。 例如,如果您将堆栈传递给操作本身,您将获得更自然的测试; var stack = new Stack(); var op = new Decr(); stack.push(0); op.Execute(stack); Assert.AreEqual(-1, stack.Peek()); 你将在Decr类中避免不必要的状态。 这是依赖性倒置原则的一个示例,其中依赖对象被传递到类中,而不是由它创 ...
-
使用虚拟机进行编译(Compiling with virtual machine)[2024-03-26]
两部分答案: 是的 , 但您无法在虚拟机上合法安装Mac OS。 但是,交叉编译器是在一个体系结构上编译并生成在另一个体系结构上运行的代码的编译器。 这是合法的 (对于嵌入式架构而言有点普遍)。 Two part answer: yes, but you can't legally install Mac OS on a Virtual Machine. However, a cross-compiler is one that will compile on one architecture and pr ... -
这些都不是。 LLVM曾经代表“低级虚拟机”,但从未意味着Java或.NET意义上的完整虚拟机,并且“LLVM”已经不再是缩写。 LLVM的核心部分是LLVM IR。 IR代表内部表示,它是编译器中使用的术语,指的是在前端和后端之间使用的程序表示。 IR允许解析语言的细节与代码生成的细节分离。 在传统的编译器设计中,理想情况下,前端和后端组件可以自由混合,因此N个前端和M个后端将允许您创建NxM编译器。 LLVM的IR与传统的内部表示不同; LLVM IR是一种汇编语言,或类似于Java和.NET的字节代码 ...
-
磁盘IO绝对是一个问题,当您使用单个主轴进行备份时,您无法执行任何大量的磁盘IO活动。 单个SATA驱动器上的32MB缓存只会被您的主机和几个Guest OS淹没。 如果您查看Ubuntu Host OS中的磁盘队列长度计数器,您应该会看到它很高(在此系统上超过1的任何内容,2个驱动器的任何时间长度都意味着有某个磁盘正在等待)。 当我为VM的基础设施调整大小时,我通常会将每个VM的30-50 IOPS作为平均值,这对于那些没有非常运行磁盘子系统的系统来说。 对于不需要大量IO活动的系统,您可以稍微降低一点, ...