小编Nei*_*her的帖子

批处理文件中延迟扩展的示例

有人可以给我一个例子,说明批处理脚本在有或没有延迟扩展的情况下会有不同的行为吗?您是否有任何不希望使用延迟扩展的情况?谢谢.

cmd batch-file delayedvariableexpansion

43
推荐指数
3
解决办法
4万
查看次数

在HTML表格中指定字体和大小

我试图在表格中指定文本的字体和大小.它似乎尊重FACE =但忽略了SIZE =.例如,我有如下所示的HTML.它正确显示Courier New中的文本,但两个表都显示相同的字体大小.我有什么问题吗?

<font face="Courier New" size="12"><table width="100%"><tr><td><b>Client</b></td><td><b>InstanceName</b></td><td><b>dbname</b></td><td><b>Filename</b></td><td><b>KeyName</b></td><td><b>Rotation</b></td><td><b>Path</b></td></tr>
<tr><td>NEWDEV6</td><td>EXPRESS2012</td><td>master</td><td>master.mdf</td><td>test_key_16</td><td>0</td><td>d:\Program&nbsp;Files\Microsoft&nbsp;SQL&nbsp;Server\MSSQL11.EXPRESS2012\MSSQL\DATA\master.mdf</td></tr>
</table></font>
<font face="Courier New" size="24"><table width="100%"><tr><td><b>Client</b></td><td><b>InstanceName</b></td><td><b>dbname</b></td><td><b>Filename</b></td><td><b>KeyName</b></td><td><b>Rotation</b></td><td><b>Path</b></td></tr>
<tr><td>NEWDEV6</td><td>EXPRESS2012</td><td>master</td><td>master.mdf</td><td>test_key_16</td><td>0</td><td>d:\Program&nbsp;Files\Microsoft&nbsp;SQL&nbsp;Server\MSSQL11.EXPRESS2012\MSSQL\DATA\master.mdf</td></tr>
</table></font>
Run Code Online (Sandbox Code Playgroud)

html windows font-size font-face

13
推荐指数
3
解决办法
13万
查看次数

.NET中的DLL可以使用不同的扩展名,例如MLL吗?

我知道这是一个古怪的问题,但在Visual Studio 2010 C#.Net中有一种方法可以命名一个扩展名与DLL不同的程序集.例如,MyAssembly.MLL而不是MyAssembly.DLL.

我四处寻找,却无法找到办法.

.net c# windows dll visual-studio-2010

6
推荐指数
1
解决办法
790
查看次数

TSQL - 如何判断SQL是否已群集?

有没有办法使用TSQL,CMD脚本或VB脚本来告诉:

1)如果SQL Server集群在服务器上,并且

2)如果它是活动节点?

谢谢.

t-sql sql-server cluster-computing

6
推荐指数
2
解决办法
2万
查看次数

CMD文件中缺少感叹号的奇怪案例

我已经将更复杂的 CMD 脚本缩减为基本要素。它逐行读取输入文件,取消引用(如果引用)并将其写出到另一个 CMD 文件。

问题是,如果输入文件包含感叹号(! 或 bang),则字符会在行的某处被删除。

这是 CMD 脚本,BANG1.CMD:

@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
if exist bang2.cmd del bang2.cmd
for /f "tokens=*" %%a in (bang1.txt) do call :doit1 %%a
exit /b

:doit1
set P1=%1
if %P1%. EQU . exit /b
call :unquotex P1 %P1%
echo>>bang2.cmd echo P1:[%P1%]
exit /b

:unquotex
set X=%2
set Q=%X:~0,1%
if "!Q!" EQU ^""" SET X=!X:~1,-1!
set %1=%X%
exit /b
Run Code Online (Sandbox Code Playgroud)

这是输入文件 BANG1.TXT:

HelloWorld
"Hello World"
Hello!World
"Hello!World"
Run Code Online (Sandbox Code Playgroud)

生成的文件 BANG2.CMD 最终包含以下内容:

echo P1:[HelloWorld]
echo P1:[Hello …
Run Code Online (Sandbox Code Playgroud)

windows cmd batch-file

5
推荐指数
1
解决办法
1300
查看次数

如何将REG值读入环境变量

我试图将REG值读入BAT文件中的环境变量.例如,

REG HKLM\SYSTEM\CurrentControlSet\Services\Eventlog/v ImagePath

我可以将REG命令的整个输出字符串输入到这样的环境变量中:

FOR /F "usebackq delims==" %%a in (`REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\Eventlog" /v ImagePath`) DO set ImagePath=%%a
Run Code Online (Sandbox Code Playgroud)

但是,这会将环境变量设置为整行,即

ImagePath   REG_EXPAND_SZ   C:\Windows\system32\services.exe
Run Code Online (Sandbox Code Playgroud)

我希望环境变量只包含路径部分,即

C:\Windows\system32\services.exe
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何提示.

cmd batch-file environment-variables

4
推荐指数
1
解决办法
1万
查看次数

批处理脚本(Windows)字符串替换扭曲

我知道如何在批处理脚本中进行文字字符串替换.但是,我有一个特定的情况,我需要替换数值变量的值

这是脚本:

setlocal enableextensions enabledelayedexpansion
set /A L=2
:L1
if %L% EQU 0 goto :EOF
set STRING="THIS IS # TEST"
SET NEW=%STRING:#=%%L%
echo %NEW%
set /A L=%L% - 1
goto L1
Run Code Online (Sandbox Code Playgroud)

希望它显示这个:

THIS IS 2 TEST
THIS IS 1 TEST
Run Code Online (Sandbox Code Playgroud)

但它最终将这种方式改为:

THIS IS  TEST2
THIS IS  TEST1
Run Code Online (Sandbox Code Playgroud)

关于如何让它做我需要的任何提示?

谢谢.

windows cmd batch-file

4
推荐指数
2
解决办法
3220
查看次数

C# 将字符串复制到字节缓冲区

我正在尝试将 Ascii 字符串复制到字节数组,但无法复制。如何?


这是我迄今为止尝试过的两件事。没有一个有效:

public int GetString (ref byte[] buffer, int buflen)
{
    string mystring = "hello world";

    // I have tried this:
    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
    buffer = encoding.GetBytes(mystring);

    // and tried this:
    System.Buffer.BlockCopy(mystring.ToCharArray(), 0, buffer, 0, buflen);  
   return (buflen);
}
Run Code Online (Sandbox Code Playgroud)

c# arrays string

3
推荐指数
1
解决办法
1万
查看次数

获取父进程名称(Windows)

我试图在Windows控制台应用程序(C/C++)中获取父进程的名称(完整路径).它看起来应该有效,但它失败了,我看不出我做错了什么.它成功获取父PID,但未获取名称.任何更正将不胜感激.

#include <Windows.h>
#include <stdio.h>
#include <tlhelp32.h>
#include <Psapi.h>

DWORD getParentPID(DWORD pid)
{
    HANDLE h = NULL;
    PROCESSENTRY32 pe = { 0 };
    DWORD ppid = 0;
    pe.dwSize = sizeof(PROCESSENTRY32);
    h = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if( Process32First(h, &pe)) 
    {
        do 
        {
            if (pe.th32ProcessID == pid) 
            {
                ppid = pe.th32ParentProcessID;
                break;
            }
        } while( Process32Next(h, &pe));
    }
    CloseHandle(h);
    return (ppid);
}

int getProcessName(DWORD pid, PUCHAR fname, DWORD sz)
{
    HANDLE h = NULL;
    int e = 0;
    h = OpenProcess
    (
        PROCESS_QUERY_INFORMATION, …
Run Code Online (Sandbox Code Playgroud)

c windows winapi process

3
推荐指数
2
解决办法
5327
查看次数

SQL Server:在显示空匹配时连接三个表

我花了几个小时试图找出这个特殊的联接.我有这三个SQL Server表(假设所有必需的索引和外键):

create table [mykey] (keyname varchar(32) not null);
go
create table [myinstance] (
instancename varchar(48) not null);
go
create table [mypermissions] (
keyname varchar(32),
instancename varchar(48),
permission int not null);
go
insert into [mykey] (keyname) values ('test_key_1'), ('test_key_2'), ('test_key_3');
GO
insert into [myinstance] (instancename) values ('sqlexpress'), ('std2008'), ('ent2012');
GO
insert into mypermissions (keyname, instancename, permission) values
    ('test_key_1', 'sqlexpress', 1),
    ('test_key_1', 'std2008', 0),
    ('test_key_2', 'ent2012', 1),
    ('test_key_2', 'sqlexpress', 0)
GO
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个联接,显示键名的所有权限,同时还显示缺少特定权限的位置.我希望输出看起来像这样(命令不重要):

keyname     instancename   permission
----------  ------------   ----------
test_key_1  sqlexpress     1 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server join

3
推荐指数
1
解决办法
51
查看次数

在C#中无法捕获0xC0000005异常

我在C#.Net程序中遇到以下异常:

System.Data.dll中发生类型'System.Data.SqlClient.SqlException'的第一次机会异常在myapp.exe中的0x000007feff75121b处发生第一次机会异常:0xC0000005:访问冲突读取位置0x0000000000000000.CustomMarshalers.dll中出现"System.AccessViolationException"类型的第一次机会异常CustomMarshalers.dll中发生未处理的"System.AccessViolationException"类型异常附加信息:尝试读取或写入受保护的内存.这通常表明其他内存已损坏.

我在try/catch(Exception)块中获取它,但它永远不会被捕获.

我正在尝试调试它,看看它为什么会发生,但如果不抓住它就很难做到.

是否可以在C#.Net中捕获0xC0000005异常?(Windows 2008 R2上的Framework 4.0).

谢谢你的任何提示.

.net c# exception try-catch

2
推荐指数
1
解决办法
4952
查看次数

X509商店位置与商店?

我在 C# DotNet 中使用 X509Store 来遍历证书存储。但是,我不清楚证书位置和证书存储之间有什么区别。例如,位置是 LocalUser 和 LocalMachine。商店的例子是 My (Personal) 和 Root。LocalMachine 上的 Personal 存储与 LocalUser 上的 Personal 存储有什么区别?在 LocalMachine 上拥有个人商店意味着什么?

.net c# windows certificate x509certificate

2
推荐指数
1
解决办法
2140
查看次数

CMD文件:翻译Windows错误消息

有没有办法在CMD脚本中检索和显示Windows错误消息的文本?

例如,假设MYAPP.EXE返回2(ERROR_FILE_NOT_FOUND)。与此相关的Windows错误消息是: “系统找不到指定的文件”

我可以在CMD脚本中检索并显示它吗?例如,

REM mycmd.cmd
MYAPP.EXE
ECHO %ERRORMESSAGE%
Run Code Online (Sandbox Code Playgroud)

谢谢。

windows error-handling cmd batch-file

2
推荐指数
1
解决办法
538
查看次数