我知道该color bf
命令设置整个命令行窗口的颜色,但我想以不同的颜色打印一行.
信不信由你,我的安装程序太旧了,它没有选择检测64位版本的Windows.
是否有Windows DLL调用或(甚至更好)一个环境变量,可以为Windows XP和Windows Vista提供该信息?
一种可能的解决方
我看到维基百科声称64位版本的Windows XP和Windows Vista都有一个独特的环境变量:%ProgramW6432%
所以我猜测在32位Windows上它是空的.
此变量指向Program Files
目录,该目录存储Windows和其他所有已安装的程序.英语系统的默认设置是C:\Program Files
.在64位版本的Windows(XP,2003,Vista)中,还有%ProgramFiles(x86)%
默认值C:\Program Files (x86)
和%ProgramW6432%
默认值C:\Program Files
.在%ProgramFiles%
本身取决于请求该环境变量中的进程是否为本身的32位或64位(这是由Windows的上-Windows 64位重定向引起的).
我知道这里有很多类似的问题,但我对答案(甚至是问题)都不满意.
主要目标是兼容性 - 它应该适用于最广泛的Windows机器(包括XP,Vista,Win2003 - 它们共同占据了大约20%的Windows共享),并且生成的文件应该可以在Unix/Mac机器上使用(所以标准存档/压缩格式是优选的).
选项有哪些:
有很多理由想要"转换" .bat
到.exe
- 隐藏/混淆实现,密码,资源路径,从批处理文件创建服务......主要是为了让你的工作看起来比实际更复杂和重要是.
不想使用第三方工具的原因也很多.
那么如果你想在.exe
不使用外部软件的情况下"转换"批处理文件呢?(转换是引号,因为我认为没有真正的方法将批处理文件编译成可执行文件.有太多滥用的错误技术和广泛使用的错误,我知道的所有工具实际上创建了一个临时.bat
文件,然后调用它)
由于PowerShell有许多类似SQL查询的cmdlet,是否有一种快速方法可以检查对象是否在Where-Object
cmdlet 的其他对象列表中?
像SQL中的东西:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
Run Code Online (Sandbox Code Playgroud)
当然我可以写一个简单的子程序,但我只是想知道是否有这样的功能.
是否有任何控制台命令"del"从文件夹中删除文件并将它们放入回收站?del命令将删除文件,而不是在回收站中.
首先澄清这个问题的目的是HTTP(s)下载.对于FTP,我可能会问(并回答)另一个问题.以下是一些类似的问题 - 但我希望更加准确.
除了排除外部工具,我希望解决方案适用于最广泛类型的Windows机器(包括仍然有足够大份额的XP,Win2003,Vista).另外,作为WSH
可能的选项之一,我不喜欢使用临时文件和所有要打包在单个.bat
文件中的东西(jscript和vbscript都可以).
什么是可能的方法.
我在目录中有大量文件.我试过跟随makecab,但它不包括文件夹中的所有文件到cab文件中.
makecab /d "C:\Users\crtorres\Documents\- SouthPacific Project 2014\- Projects\Sales Doc Center\New Region" test.cab
Run Code Online (Sandbox Code Playgroud)
以下工作但cab文件只有清单文件.makecab manifest.xml test.cab
有没有办法在powershell中从包含字符串的变量创建一个csv对象?目前我需要在临时文件中写入内容然后将其导入csv,我想减少磁盘操作:
$some_string | Set-Content $temp_file
$csv_content=Import-Csv $temp_file
Run Code Online (Sandbox Code Playgroud)
编辑
@Graham Gold,感谢你的答案(我已经为你们两个人设置了+1),但似乎Joey的答案是正确的.这是我的测试:
$csv_string="
`"col1`" ; `"col2`"
val11 ; val12
val21 ; val22"
$csv_content1 = $csv_string | ConvertFrom-CSV
$csv_content2 = $csv_string | ConvertTo-CSV
"
ConvertFrom result:"
$csv_content1
"
ConvertTo result:"
$csv_content2
Run Code Online (Sandbox Code Playgroud)
结果如下:
ConvertFrom result:
H1
--
col1 ; "col2"
val11 ; val12
val21 ; val22
ConvertTo result:
#TYPE System.String
"Length"
"47"
Run Code Online (Sandbox Code Playgroud) Windows是否有可执行文件,我可以在命令shell中运行,它返回可执行文件(.exe)的版本号?
我看到很多问题显示如何使用不同的语言,并引用第三方软件来编写它,但我找不到一个简单的shell命令来执行它.如果我不需要安装任何东西,还有其他要点.
它必须以普通用户身份运行.不是管理员.