正如您所听到的,新的 Windows 终端已经发布。我找不到的是如何调整窗口大小。在旧控制台中,如果您想更改设置,它会给您一个 GUI,但在新控制台中,您需要 JSON 命令。我试过一对夫妇这是命令的initialCols
和initialRows
,但他们并没有为我工作,我试图寻找了一段时间的解决方案。我有没有其他方法可以调整窗口大小,或者在这个时间点是不可能的?
我只是想知道是否..
真的在 Haskell 代码中的任何地方定义,就像在Prelude 中一样?是enumFromTo
一样的吗?我不明白定义是什么?
enumFromTo x y = map toEnum [fromEnum x .. fromEnum y]
[ e1 .. e3 ] = enumFromTo e1 e3
Run Code Online (Sandbox Code Playgroud) 和同事讨论,应该$null
在支票的左边还是右边?为什么这很重要的任何例子?
$abc = $null
$null -eq $abc
True
$abc -eq $null
True
Run Code Online (Sandbox Code Playgroud)
一切都好
$abc = 6,7,$null,8,9
$null -eq $abc
False
$abc -eq $null
*No output*
Run Code Online (Sandbox Code Playgroud)
有人可以解释比较数组时发生了什么吗?
我正在努力在类 Unix 环境中模拟一些命令。我使用的是 Windows 10,并使用 GitBash 的 shell 来运行命令,但 chmod 似乎没有保留文件的权限更改。
zecuse MINGW64 ~ (dev)
$ touch test
zecuse MINGW64 ~ (dev)
$ ls -l test
-rw-r--r-- 1 zecuse 1049089 0 Nov 13 13:30 test
zecuse MINGW64 ~ (dev)
$ chmod -c -r test
mode of 'test' changed from 0644 (rw-r--r--) to 0200 (-w-------)
zecuse MINGW64 ~ (dev)
$ ls -l test
-rw-r--r-- 1 zecuse 1049089 0 Nov 13 13:30 test
Run Code Online (Sandbox Code Playgroud)
Windows 是否会阻止我以这种方式更改文件权限?如果是这样,我是否需要使用powershell来修改文件的权限?
这是一个Powershell错误吗?它只会在脚本中打印$ var1,而不打印$ var2(我也无法将其通过管道传递到where-object)。但是,当我将其复制并粘贴到命令行时,它可以正常工作。
$var1 = New-Object -TypeName PSObject -Prop @{'data1'=6}
write-output $var1
$var2 = New-Object -TypeName PSObject -Prop @{'data2'=12}
write-output $var2
data1
------
6
Run Code Online (Sandbox Code Playgroud)
编辑:我想我已经开始明白了。这是一个奇怪的例子。您只能从第二个对象输出或处理公共字段:
$var1 = New-Object PSObject -prop @{data1=6;data3=5}
$var1
$var2 = New-Object PSObject -prop @{data2=12;data3=6}
$var2
data1 data3
----- -----
6 5
6
Run Code Online (Sandbox Code Playgroud)
EDIT2:这与格式表的隐含运行以及它如何设置列有关。
此代码打印一个简单的进程,一次只做一件事:
$files = 1..100
$i = 0
$files | Foreach-Object {
$progress = ("#" * $i)
Write-Host "`r$progress" -NoNewLine
$i ++
Start-Sleep -s 0.1
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我想同时并行执行两件事,我无法输出进度,因为我无法更改并行循环之外的变量。这并没有完成所需的操作:
$files = 1..100
$i = 0
$files | Foreach-Object -ThrottleLimit 2 -Parallel {
$progress = ("#" * $i)
Write-Host "`r$progress" -NoNewLine
$i ++
Start-Sleep -s 0.1
}
Run Code Online (Sandbox Code Playgroud)
我找不到一个好的解决方案来访问外部变量,不仅可以使用 $Using 读取它,还可以更改它。这在 Powershell 7 中可能吗?
如何跟踪文件的硬链接(重新分析点?)?管道传输到格式列表不会显示目标。至少在 powershell 7 中,你会得到一个小 ascii 箭头。该文件夹位于 $env:path 中。如果您没有 Windows 终端,则 MicrosoftEdge.exe 链接在同一文件夹中。我的是win10 20h2。
get-item $env:LOCALAPPDATA\Microsoft\WindowsApps\wt.exe
Directory: C:\Users\admin\AppData\Local\Microsoft\WindowsApps
Mode LastWriteTime Length Name
---- ------------- ------ ----
la--- 3/31/2022 1:27 PM 0 wt.exe ->
get-item $env:LOCALAPPDATA\Microsoft\WindowsApps\wt.exe | % attributes
Archive, ReparsePoint
Run Code Online (Sandbox Code Playgroud)
这只是给出了很多二进制文件:
fsutil reparsepoint query $env:LOCALAPPDATA\Microsoft\WindowsApps\wt.exe
Reparse Tag Value : 0x8000001b
Tag value: Microsoft
Reparse Data Length: 0x192
Reparse Data:
0000: 03 00 00 00 4d 00 69 00 63 00 72 00 6f 00 73 00 ....M.i.c.r.o.s.
0010: 6f 00 66 …
Run Code Online (Sandbox Code Playgroud) 什么Get-Content
真正输出,一个字符串或一个具有多个属性的对象?如果它是一个对象,哪个属性包含字符串,我可以修改该属性吗?该文件只有一行,所以我不必处理对象数组。
PS C:\Users\me> Get-Content input.txt 111 PS C:\Users\me> Get-Content input.txt | 选择对象 * PSPath : C:\Users\me\input.txt PSParentPath : C:\Users\me PSChildName : 输入 驱动器:C PSProvider : Microsoft.PowerShell.Core\FileSystem 读取计数:1 长度 : 3 PS C:\Users\me> (Get-Content input.txt).GetType() IsPublic IsSerial 名称 BaseType —————————————————— 真真字符串 System.Object
-replace
擦除除长度以外的所有额外属性:
PS C:\Users\me> (Get-Content input.txt) -replace 111, 222 | 选择对象 * 长度 ------ 3
这不是很奇怪吗?.bat rem 命令有某种转义码吗?
文件.bat:
rem https://sourceforge.net/p/jedit/bugs/4084/?limit=25
Run Code Online (Sandbox Code Playgroud)
运行它:
C:\Users\admin>file.bat
25 was unexpected at this time.
C:\Users\admin>https://sourceforge.net/p/jedit/bugs/4084/?limit=25
Run Code Online (Sandbox Code Playgroud)
我没有看到任何错误级别。
出于某种原因,对象在 sleep 命令完成之前不会输出。
[pscustomobject]@{message = 'hi'}; sleep 5
Run Code Online (Sandbox Code Playgroud)
这是另一个例子。在循环完成之前您不会看到输出。
foreach ($i in 1..60) {
if ($i -eq 1) { [pscustomobject]@{message = $i} }
sleep 1
}
Run Code Online (Sandbox Code Playgroud)
我猜你必须输出至少 2 个对象才能看到任何东西?¯\_(?)_/¯ 15 秒后,您会看到两个对象。
foreach ($i in 1..60) {
if ($i -eq 1 -or $i -eq 15) { [pscustomobject]@{message = $i} }
sleep 1
}
Run Code Online (Sandbox Code Playgroud)
或者输出足够的属性(> 4)来隐式调用格式列表而不是格式表。 格式表是问题所在。 这马上就出来了。
[pscustomobject]@{a=1; b=2; c=3; d=4; e=5}; sleep 10
Run Code Online (Sandbox Code Playgroud)
我想知道格式表的参数是否可以像-NoWait
.
具有包含列宽的格式文件的已知对象类型不存在此问题。
foreach ($i in 1..60) {
if ($i -eq 1) { get-process powershell } …
Run Code Online (Sandbox Code Playgroud) powershell ×6
batch-file ×1
comments ×1
definition ×1
enumeration ×1
enums ×1
git-bash ×1
haskell ×1
object ×1
output ×1
reparsepoint ×1
sleep ×1
string ×1
terminal ×1
typeclass ×1
uwp ×1
windows ×1