小编js2*_*010的帖子

更改新 Windows 终端的窗口大小

正如您所听到的,新的 Windows 终端已经发布。我找不到的是如何调整窗口大小。在旧控制台中,如果您想更改设置,它会给您一个 GUI,但在新控制台中,您需要 JSON 命令。我试过一对夫妇这是命令的initialColsinitialRows,但他们并没有为我工作,我试图寻找了一段时间的解决方案。我有没有其他方法可以调整窗口大小,或者在这个时间点是不可能的?

windows terminal windows-terminal

19
推荐指数
1
解决办法
8568
查看次数

.. 在哪里定义?

我只是想知道是否..真的在 Haskell 代码中的任何地方定义,就像在Prelude 中一样?是enumFromTo一样的吗?我不明白定义是什么?

enumFromTo x y  =  map toEnum [fromEnum x .. fromEnum y]

[ e1 .. e3 ]  =  enumFromTo e1 e3
Run Code Online (Sandbox Code Playgroud)

enums haskell enumeration definition typeclass

17
推荐指数
1
解决办法
352
查看次数

$null 应该在等式比较的左侧吗?(-eq 带数组)

和同事讨论,应该$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)

有人可以解释比较数组时发生了什么吗?

powershell

10
推荐指数
1
解决办法
2866
查看次数

GitBash 中的 chmod 命令在 Windows 上不起作用吗?

我正在努力在类 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来修改文件的权限?

git-bash

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

脚本中有多个对象的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:这与格式表的隐含运行以及它如何设置列有关。

powershell

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

Powershell Foreach-Object -Parallel 如何更改循环外变量的值(跟踪进度)

此代码打印一个简单的进程,一次只做一件事:

$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 foreach-object

5
推荐指数
3
解决办法
8541
查看次数

跟踪文件(Windows 终端)的硬链接(重新分析点?)?

如何跟踪文件的硬链接(重新分析点?)?管道传输到格式列表不会显示目标。至少在 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)

powershell reparsepoint uwp

5
推荐指数
2
解决办法
1147
查看次数

Get-Content 真正输出什么,一个字符串或几个属性?

什么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

string powershell

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

.bat 文件中的“rem”注释导致错误“此时 25 出乎意料”

这不是很奇怪吗?.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)

我没有看到任何错误级别。

comments batch-file

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

对象输出的奇怪延迟后跟开始睡眠(或直到脚本结束)

出于某种原因,对象在 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 sleep object output

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