私は、.txtファイルで入力された場所からファイルを削除するコードを作成しています。バッチファイルRdエラー:ディレクトリが空ではありません
@echo off
cd C:\Users\Troy\Desktop\Details
set /p loc=<Location.txt
rd /s /q "%loc%"
echo %loc%
pause
開いたときにこのコードは、私に今すぐ次の出力
The directory is not empty.
C:\Users\Troy\Downloads\TV Shows
Press any key to continue ...
ファイルLocation.txtを返しますが
C以下が含ま:\ Users \ユーザートロイ\ダウンロード\に従っているテレビ番組上記の出力の2行目にあるエコー出力
また、C:\ Users \ Troy \ Desktopにバッチファイルを保存しました。
同じ場所に起因する干渉。
奇妙な部分は、別のバッチファイルから次のコードを同じ場所で実行しても、完全に正常に実行され、すべてのファイルが削除されます。
@echo off
set loc=C:\Users\Troy\Downloads\TV Shows
rd /s /q "%loc%"
echo %loc%
pause
ように、2つのコード間の唯一の違いは、他の一つは予め入力された変数を有するのに対し、最初のものは、特定のファイルからの可変位置を設定することです。
はまた、私は上記のコードで、次のコード
@echo off
cd C:\Users\Troy\Desktop\Details
set /p loc=<Location.txt
cd %loc%
del /s /q * >nul 2>&1
cd C:\Users\Troy\Desktop\Details
rd /s /q "%loc%"
echo %loc%
pause
を使用して場所からファイルを削除しようとしましたが、削除コマンドは完全に正常に動作し、内のすべてのファイルを削除します。しかし、フォルダとサブフォルダはすべて残っています。つまり、は、コマンドが機能していません。
私はattrib -h
を試したこともありますが、どちらもうまくいきません。 また、私はrmdir /s /q
のさまざまな順列と組み合わせでこれを試したことにも注意してください。しかし、動作しません。
助けてください。
ディレクトリツリーが空であることを確認してください。%loc% "'もしあなたが見たいと思っていないものがあれば、もっと確実な火を使ってください。 'ERASE 'コマンドを実行します。 'DEL/F/S/Q/A"%loc%\ * "' – Compo
あなたの返事をありがとう。私はあなたが言ったことをやってみたが、同じ結果で終わった。あなたのデバイスでも同様のことが起きているかどうか確認できますか? – x0nar
私は申し訳ありませんが、私は比較的無知なものを複製しようとするつもりはありません。しかし、私はこの問題を以前に見たことがありますが、それでも原因は考えられません。その時点での解決策はコマンドを再実行することでした。したがって、 'rd'コマンドの後に新しい行を追加しようとすると' If Exist '%loc%\ "RD/S/Q"%loc% "'となります。理想的ではありませんが、不可解にも機能することが知られています。 – Compo