NTFSディレクトリはbashシェルで開きます。どのコマンドがディレクトリ内のすべてのファイル名を再帰的にext3に必要な255文字の制限に切り詰めますか?あなたは、Windowsのシェルへのアクセス権を持っている場合はすべてのファイル名を255文字で切り捨てるコマンド
0
A
答えて
1
、あなたが使用することができます。
@echo off
setlocal EnableDelayedExpansion
REM loop over all files in the cwd
for /f %%a in ('dir /a-d /b') do (
REM store this filename in a variable so we can do substringing
set ThisFileName=%%a
REM now take a substring
set ThisShortFileName=!ThisFileName:~0,255!
REM finally, the rename:
echo ren %%a !ThisShortFileName!
)
:EOF
endlocal
(注:私は、renameコマンドの前にエコーを追加しただけので、あなたが視覚的にそれが実際に前に機能するかどうかを確認することができますそれを実行している。私のボックス上で動作します。)
私は今の* nixのボックス上にある、誰かがbashのために同様のスクリプトを作ることができると確信しているが、私は、Windowsの世界でこだわっている:)
幸運!
Daveのsedのベースのバージョンと同様に
for f in *; do mv $f ${f:0:255}; done
が、ファイルごとのexecを回避:シェルが、それはPWDだとしてNTFSディレクトリに座っていると仮定すると
0
$ cat truncname
#!/bin/bash
# requires basename, dirname, and sed
mv $1 `dirname $1`/`basename $1 | sed 's/^\(.\{0,255\}\).*/\1/'`
$ chmod a+x truncname
$ find . -exec ./truncname {} \;
+0
私は、フォルダ上でシェルスクリプトを実行しようとしたと、次のエラーを得た: プロンプト:/メディア/ DUALOS $ SH〜/ truncname.shもの /home/username/truncname.sh:1:$:見つかりません。 mv: 'stuff 'を' ./stuff/stuff'のサブディレクトリに移動できません /home/username/truncname.sh:5:$:見つからない /home/username/truncname.sh:6:$ :見つからない –
1
。最大のコマンドライン制限のために本当に巨大なdirで爆破され、サブディレクトリを実行しません。
関連する問題
- 1. UbuntuのRODBCがテキスト文字列を255文字に切り捨てます
- 2. 長いテキストフィールド255を超える文字が切り捨てられます
- 3. KRL:文字列を切り捨てる
- 4. 文字列を切り捨てます。
- 5. 列名から文字列を切り捨てる
- 6. 文字数でJava文字列を切り捨てます
- 7. 切り捨ては、文字列
- 8. xsd切り捨て文字列C#
- 9. Powershell - 文字列内の文字を切り捨てます
- 10. 文字列内の空白文字を切り捨てます
- 11. 文字列の文字を切り捨てます。
- 12. メモを255文字に切り捨てずにExcelにクエリをエクスポートする方法はありますか?
- 13. 最初の "_"の後にすべての文字を切り捨てます
- 14. 文字列からnアルファベット文字を切り捨てる
- 15. SASでインポートするときに文字を切り捨てる
- 16. DOSコマンドはファイルへのリダイレクト出力を切り捨てます
- 17. insert文のSQLを長い文字列に切り捨てる
- 18. URL書き換え文字切り捨て問題php .htaccessファイル
- 19. UILabelで切り捨て文字を変更するには?
- 20. pysparkで文字列を切り捨てる
- 21. Javascriptで文字列を切り捨てる(制約付き)
- 22. lessで開くときヌル文字を切り捨てる
- 23. PLSQL:切り捨てによる数字の変換と切り捨て
- 24. Python - 文字列中の文字列を切り捨てて文字列を文字列に連結する
- 25. HTMLタグで文字列を切り捨てます
- 26. MySQL CONCATは文字列を内部で切り捨てます。
- 27. pytestで長い文字列の切り捨てを防ぐ
- 28. TripleDES最後の文字を切り捨てる復号化
- 29. 既知の部分文字列shを切り捨てる
- 30. 配列から特定の文字グループを切り捨てる
これはうまくいったが、ファイル名は255文字にカウントされたので、ファイル名をさらに短くしなければならなかった。 –