奇妙なことが起こっている。 私が作業していたプロジェクトの名前変更バッチファイルを数年前に(StackOverflowを含むさまざまな場所から多くの助けを借りて)まとめました。 一部のファイルの名前を変更し、親フォルダの最初の5文字(「12345 - サイト」など)の接頭辞を付けます。 私は数ヶ月間BATファイルを使用していませんでしたが、今は必要ですが、正しく動作していません。突然BATの名前を変更すると正しく動作しない
ファイルの名前は変更されていますが、最初の5文字ではなく親フォルダ全体が使用されています。私は別のPCでそれをテストし、以前に働いたフォルダで実行しました。
これはなぜ起こるのか、それを修正する方法、または同じ結果を得るためにバッチファイルに追加できるものはありますか?
私は完全な初心者であり、最初のバッチファイルを試行錯誤し、ウェブ上の同様のバッチファイルリクエストから切り取りて貼り付けることによって、多くの夜を過ごしました。
私の現在のコード:
for %%z in ("%cd%") do (
for %%a in ("%%~dpz%\.") do (
for /f "delims=" %%i in ('dir /b /a-d *.pdf,*.xlsx,*.docx,*.xlsm') do move "%%i" "%%~nxz %%i"))
「最初の5文字」に短縮できるコードはありません。これまでに行ったことがあれば、別のバッチファイルでした。 – Stephan
私のオリジナルのように見えるのは、その後書かれています。 :(これは最初の5文字を抽出する方法はありますか? – Legg1979
バッチの意図がわかりません。最初のFORループは現在のディレクトリの値に対して1回だけ実行する必要があります。 2番目のFORはまったく使用されず、最初の%zインデックスを使用して繰り返します。最初の5文字を抽出する値は何ですか? –