そこで、このスレッドの解決策に従おうとしています:各ファイル用のフォルダを作成し、ファイルをフォルダに移動するCMDコマンドそのスレッドの OP がやりたかったのと同じことをしたいからです。
そのスレッドを見つける前に、手動でフォルダーを作成しました。
for %i in (*) do move "%i" "%~ni"
ただし、各ファイルをそれぞれのフォルダーに配置しようとすると、次のエラーが発生します。
bash: syntax error near unexpected token `('
私のファイル名は、x01.sql、x02.sql、x03.sql などです。フォルダーは、それぞれ x01、x02、x03 などです。名前にはスペース、特殊文字、非 ASCII 文字は含まれていません。GNU bash バージョン 5.0.7(1) を使用しています。
エラーを解決して、ファイルをそれぞれ独自のフォルダーに移動させるにはどうすればよいですか?
答え1
GNU BashとWindows CMDは異なるものです。 各ファイル用のフォルダを作成し、ファイルをフォルダに移動するCMDコマンドWindows CMD用です。
GNU Bashの場合は、これ
答え2
GNU bash で Windows バッチ コマンドを実行しようとしているようです。これが機能しない理由です。「Saurabh P Bhandari」が提案したように、このリンクから次のスニペットを使用してください。 https://unix.stackexchange.com/questions/219991/how-do-i-create-a-directory-for-every-file-in-a-parent-directory 最初に親フォルダーに cd することを確認してください。
for x in ./*.txt; do
mkdir "${x%.*}" && mv "$x" "${x%.*}"
done