我有一个应用程序,我试图在Windows 7和Windows XP瘦客户端上升高,但我似乎无法让runas.exe cmd行正确.我知道我需要反斜杠转义字符,因此runas正确解释了空格.这在运行runas时使用反斜杠转义的单个参数时有效.这个场景是我发现的所有解决方案,然而它起作用,我需要发送多个参数,这些参数都是用反斜杠转义的,因为文件路径等因为空格而存在争议.以下是一些例子:
这些工作和预期的将提示管理员密码:
runas.exe /user:Administrator "C:\update_andon.exe autosetup /kiosktype:\"Andon Kiosk"\
runas.exe /user:Administrator "C:\update_andon.exe autosetup /directory:\"C:\Program Files\CIMS_Andon\Kiosk"\
当我开始添加我需要的其余参数(如下面的行)时,我收到runas帮助文本,表明存在问题:
runas.exe /user:administrator "C:\update_andon.exe autosetup /kiosktype:\"Andon Kiosk"\ /exename:\"eAndonKiosk.exe"\ /directory:\"C:\Program Files\CIMS_Andon\Kiosk"\ /repository:\"\\domain\sat\shared\repository\andon kiosk"\"
一种解决方案是一个接一个地运行每个参数,但我不认为这是一个解决方案,因为它是一个解决方法.我是否错过了将反斜杠与各种参数混合在一起的方式?我在哪里错过了更多的报价?
谢谢
其他人我有一个脚本创建的文本文件(特别是dmidecode > dmidecode.txt),我希望能够获取"产品名称:"的内容,所以在这种情况下"HP t5740e瘦客户端",但它会略有不同机器类型.我可以使用sed计数到第44行然后将其切片直到我得到我想要的但我希望它比那更有活力.
文本文件:
41 Handle 0x0001, DMI type 1, 27 bytes
42 System Information
43 Manufacturer: Hewlett-Packard
44 Product Name: HP t5740e Thin Client
45 Version:
46 Serial Number: CNW1160BZ7
47 UUID: A0B86400-6BBD-11E0-8325-92EEE331A344
48 Wake-up Type: Power Switch
49 SKU Number: XL424AA#ABA
50 Family: 103C_53302C
Run Code Online (Sandbox Code Playgroud)
我所拥有的代码似乎不起作用:
sed -c -i "s/\($TARGET_KEY *Product Name :*\).*/\1$REPLACEMENT_VALUE/" dmidecode.txt
Run Code Online (Sandbox Code Playgroud)
我感觉我的正则表达式已经过时了(可能是因为我看到的最初的例子污染了我的"愿景")
任何帮助是极大的赞赏!另外,任何人都知道我可以查看的任何好的正则表达式引用?
更新:好的,我可以花更多的时间在这上面,找到一些更好的例子,并从我的研究中得到这个:
grep -e "Product Name: HP" -e "Product Name: hp" dmidecode.txt | awk '{print}'
Run Code Online (Sandbox Code Playgroud)
当我添加'{print $NF}'它时只打印最后一个单词,有没有办法修改print以包含搜索字符串之后的所有内容而不是整行本身? …