Próbuję napisać plik wsadowy systemu Windows, który sprawdzałby, które pliki tekstowe są obecne w folderze A i folderze B; a jeśli plik jest obecny tylko w folderze A, chcę utworzyć plik tekstowy o tej samej nazwie w folderze B, który będzie zawierał tylko dowolny dowolny tekst, ale nie będzie dotykać innych istniejących plików.
wyjaśnić
Folder A:
- plik1.txt
- plik2.txt
- plik3.txt
Folder B:
- plik2.txt
- plik3.txt
Kod powinien sprawdzić i zobaczyć, że brakuje pliku1.txt w folderze B i utworzyć plik o tej samej nazwie zawierającej tekst „Hello World”, ale nie zmieniać w żaden sposób innych plików.
Wiem, że prawdopodobnie użyje funkcji if i dla funkcji, ale nie mogę się do tego zabrać ... do tej pory wymyśliłem to
for %%a in ("%~dp0\folder1\*.*") do if not exist "%~dp0\folder2\%%a" (
echo Hello World
)>"%~dp0\folder2\%%a"
EDYTOWAĆ Właśnie dodałem rozwiązanie zaproponowane przez McDonald's (nie restaurację) do mojej układanki. To działa.
for %%a in ("%~dp0\folder1\*.*") do if not exist "%~dp0\folder2\%%~NXa" (
echo Hello World
)>"%~dp0\folder2\%%~NXa"
źródło
for %%a in ("%~dp0\folder1\*.*") do if not exist "%~dp0\folder2\%%~NXa" ( echo Hello World )>"%~dp0\folder2\%%~NXa"
... jest dokładnym kodem, którego można użyć, więc przetestuj go.