<dependency>
<groupId>io.cloudsoft.windows</groupId>
<artifactId>winrm4j</artifactId>
<version>0.12.3</version>
</dependency>
- 在执行的命令中含有特殊字符
命令中含有 中括号 [] 在使用powershell 执行命令时,中括号表示强制转换运算符,就需要转义处理。文件名称是 [P]test.xml 包含有中括号,在单个中括号前面使用 ``转义处理,在将整个文件路径放在单引号中。有的特殊字符使用cmd 可以正常执行,使用powershell执行时需要特殊处理。
powershell type 'D:\\``[P``]test.xml'
- 在使用type 或 get-content 命令获取文件内容时,文件内容乱码。
即使加上了 -Encoding UTF8 也乱码。
powershell type 'D:\\``[P``]test.xml' -Encoding UTF8
此时需要设置命令窗口的编码格式,在执行命令之前 先执行 chcp 65001
chcp 65001 | powershell type 'D:\\``[P``]test.xml'
在使用winrm4j进行远程操作时,如果命令中包含特殊字符如中括号[],在Powershell下需进行转义。针对文件名[P]test.xml,需用`[[`进行转义,并将路径置于单引号中。当文件内容出现乱码,即使指定-EncodingUTF8也无法解决。解决方法是在执行命令前使用`chcp65001`设置命令窗口编码为UTF-8。
2578

被折叠的 条评论
为什么被折叠?



