在批处理文件中使用 FindStr 更改多个文件中的目录路径

问题描述 投票:0回答:1

我需要将文件中的路径更改为我用来运行批处理文件的当前路径。我想我需要使用 FindStr 因为 FOR 不会处理 <>:\ 字符。这是文件中的字符串示例: C:\Users bcdir\OneDrive - Enc�2 \Operations\BrightSign C:\Users bcdir\OneDrive - Enc�2 \Operations\BrightSign

假设当前目录路径是 C:\Users\defdir\OneDrive - Enc\

所以我需要得到什么: C:\Users\defdir\OneDrive - Enc�2 \Operations\BrightSign C:\Users\defdir\OneDrive - Enc�2 \Operations\BrightSign

所以我的想法是 findstr "C:\Users*\OneDrive" 并将 * 替换为当前路径 C:\Users\defdir\OneDrive

FOR DO 不喜欢特殊字符,而这些文件中充满了特殊字符。我是否将 FindStr 嵌套在 For 循环中以使其看起来像这些文件的文件夹和子文件夹?速度并不是真正的问题。总共不到 20 个文件,如果我在文件中使用扩展名,搜索大约 10 个文件。

只是不知道如何构建这批。感谢您的指导!!!

FOR 不喜欢 <> 并且我不知道如何构建循环。我的经验是 C++,我需要在一堆 Windows PC 上工作,所以 C++ 可能在也可能不在机器上,但批处理文件可以工作

windows for-loop batch-file replace findstr
1个回答
0
投票

当你像这样启动它时,启动的程序应该默认继承当前目录:

start "" "C:\Users\abcdir\OneDrive - Enc\3322 \Operations\BrightSign"

您还可以在 Windows 快捷方式中看到具有相同功能的“开始于”属性

© www.soinside.com 2019 - 2024. All rights reserved.