我正在尝试编写一个Windows批处理文件,用于检查文件夹A和文件夹B中存在哪些文本文件; 如果文件只出现在文件夹A中,我想在文件夹B中创建一个同名的文本文件,该文件只包含一些任意文本,但不能触及其他现有文件。
把事情说清楚
文件夹A:
- FILE1.TXT
- FILE2.TXT
- file3.txt
文件夹B:
- FILE2.TXT
- file3.txt
代码应检查并查看文件夹B中缺少file1.txt并创建一个包含文本“Hello World”的同名文件,但不以任何方式更改其他文件。
我知道这可能会使用if存在和功能但我无法理解它...到目前为止,这是我想出来的
for %%a in ("%~dp0\folder1\*.*") do if not exist "%~dp0\folder2\%%a" (
echo Hello World
)>"%~dp0\folder2\%%a"
编辑只需将麦当劳(不是餐厅)提出的解决方案添加到我的拼图中。这只是有效的。
for %%a in ("%~dp0\folder1\*.*") do if not exist "%~dp0\folder2\%%~NXa" (
echo Hello World
)>"%~dp0\folder2\%%~NXa"
必需的命令:: dir,find,if,echo
—
Biswapriyo
请注意,superuser.com不是免费的脚本/代码编写服务。如果您告诉我们您到目前为止所尝试的内容(包括您已经使用的脚本/代码)以及您遇到的问题,我们可以尝试帮助解决具体问题。您还应该阅读我如何提出一个好问题?。
—
DavidPostill
for %%a in ("%~dp0\folder1\*.*") do if not exist "%~dp0\folder2\%%~NXa" ( echo Hello World )>"%~dp0\folder2\%%~NXa"
...是使用的确切代码,所以测试它。
是!麦当劳!这正是我想要做的!你应该把它作为我问题的明确答案。
—
Flaver-D
我确实想知道一件事:我注意到你在我的非工作原版中使用了%% ~NXa而不仅仅是%% a。那些开关究竟意味着什么?
—
Flaver-D