相关疑难解决方法(0)

忽略批处理文件中的百分号

我有一个批处理文件,将文件从一个文件夹移动到另一个文件夹 批处理文件由另一个进程生成.

我需要移动的一些文件中包含字符串"%20":

move /y "\\myserver\myfolder\file%20name.txt" "\\myserver\otherfolder"
Run Code Online (Sandbox Code Playgroud)

这会失败,因为它试图找到一个名称为的文件:

\\myserver\myfolder\file0name.txt
Run Code Online (Sandbox Code Playgroud)

有什么办法可以忽略%吗?我无法改变生成的文件以逃避这种情况,例如加倍百分号(%%),逃避/^(插入符号)等.

escaping batch-file

30
推荐指数
4
解决办法
3万
查看次数

PowerShell:在传递给外部程序的字符串中转义双引号的最佳方法?例如,一个 JSON 字符串

我阅读了我认为所有关于在 PowerShell 中转义字符串的文章,但我仍然没有找到让我满意的解决方案。

假设我有一个foo.json包含 JSON 字符串的文件。我需要将 JSON 字符串作为参数传递给程序。

在 bash 中,这很好用:

myprogram "$(cat ~/foo.json)"

在 PowerShell 中,当我正常读取文件内容并将其传入时,接收程序会抱怨键和值周围没有引号。

我想出的是:

$json = (get-content ~/foo.json | Out-String) -replace '"','""' myprogram $json

在 PowerShell 中是否有一种不那么尴尬的方法来做到这一点?我已经退出会话,在 bash 中运行命令,然后再次启动会话。

powershell json

3
推荐指数
1
解决办法
3166
查看次数

标签 统计

batch-file ×1

escaping ×1

json ×1

powershell ×1