如何使用批处理文件创建名称与现有文件夹中的文本名称匹配的空文本文件[关闭]


1

我正在尝试编写一个Windows批处理文件,用于检查文件夹A和文件夹B中存在哪些文本文件; 如果文件只出现在文件夹A中,我想在文件夹B中创建一个同名的文本文件,该文件只包含一些任意文本,但不能触及其他现有文件。

把事情说清楚

  1. 文件夹A:

    • FILE1.TXT
    • FILE2.TXT
    • file3.txt
  2. 文件夹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

1
for %%a in ("%~dp0\folder1\*.*") do if not exist "%~dp0\folder2\%%~NXa" ( echo Hello World )>"%~dp0\folder2\%%~NXa"...是使用的确切代码,所以测试它。
Pimp Juice IT

是!麦当劳!这正是我想要做的!你应该把它作为我问题的明确答案。
Flaver-D

我确实想知道一件事:我注意到你在我的非工作原版中使用了%% ~NXa而不仅仅是%% a。那些开关究竟意味着什么?
Flaver-D
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.