echo cde3xsw2ZAQ! | adb shell ’ lspci ’ 2>&1 | findstr /I “1101” > temppcie.txt 在cmd直接执行能成功获取到信息,在bat中执行则为空应如何改正
时间: 2024-10-13 07:03:27 浏览: 30
这个命令是在Windows环境下通过`adb shell`命令连接Android设备,并尝试从设备上运行`lspci`命令来获取PCI设备列表,然后将结果过滤出包含特定字符串"1101"的部分,并保存到`temppcie.txt`文件中。但在`.bat`批处理文件中执行失败,可能是由于转义字符、路径引用或权限问题。
首先,你需要确保以下几点:
1. **正确处理引号**:在`.bat`文件中,你需要正确地使用双引号(`"`), 因为`|`和`>`都是特殊字符,需要转义。例如,可以尝试将`findstr`部分替换为 `findstr /I "1101"`。
2. **处理输出重定向**:在`.bat`中,你可能需要改变`> temppcie.txt`的写入方式,因为`>`可能会覆盖当前目录下的文件。可以使用`>>`追加模式,如果文件不存在,则创建,如 `>>temppcie.txt`。
3. **环境变量**:确保`adb`命令路径已添加到系统的PATH中,否则需要提供完整路径。
4. **权限和设备连接**:检查`adb`是否已经正确配置并连接到了设备,如果没有,需要先运行`adb devices`确保设备已连接并且授权允许执行shell命令。
修复后的`.bat`文件可能看起来像这样:
```bash
echo cde3xsw2ZAQ! | adb shell 'lspci 2>&1' | findstr /I "1101" >> temppcie.txt
```
如果上述修改还无法解决问题,确认一下是否有任何错误日志,以便进一步诊断。
相关问题
vim s/\(.\{2\}\)\(.\)\(.\)/\1*\3/g是什么意思
这是 Vim 中的正则表达式替换命令,它的作用是将字符串中每三个字符中间的字符替换为 `*`。
具体来说,这个命令中包含以下几个部分:
- `s/`:表示进行替换操作。
- `\(.\{2\}\)\(.\)\(.\)`:表示匹配一个由三个字符组成的字符串,并将其分成三个组,分别是前两个字符、中间的一个字符和最后一个字符。
- `/\1*\3/g`:表示将匹配到的字符串中第二个字符替换为 `*`,并进行全局替换。
其中,`\1` 和 `\3` 分别表示第一个和第三个组匹配到的字符,`*` 表示替换后的字符。
例如,如果原字符串为 `abcdefg`,则经过这个命令的替换后,字符串变为 `ab*cde*g`。
Downloading: "https://download.pytorch.org/models/resnet18-5c106cde.pth" to /Users/wgk/.cache/torch/hub/checkpoints/resnet18-5c106cde.pth
这是PyTorch中的模型预训练权重,用于ResNet-18模型。当你调用`torchvision.models.resnet18()`时,如果本地没有保存这个预训练权重,PyTorch会自动下载并保存到`~/.cache/torch/hub/checkpoints/`目录下。这个预训练权重可以在ImageNet数据集上进行训练,用于在其他任务上进行微调。
阅读全文