問題タブ [batch-rename]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
57089 参照

bash - bashループを使用して複数のファイルの名前を変更する

45個のファイルの名前を変更する必要がありますが、1つずつ変更したくありません。これらはファイル名です:

拡張子「.fasta」を「.fa」に変更する必要があります。私はそれを行うためにbashスクリプトを書き込もうとしています:

しかし、それは機能しません。理由を教えていただけますか、それとも別の簡単な解決策を教えてください。

ありがとう!

0 投票する
2 に答える
4225 参照

applescript - Applescript の繰り返しの名前変更

AppleScript ドロップレットを作成して、迷惑な形式の画像の名前を変更しようとしていますが、AppleScript のスキルが存在しなくなり、どこにも行き着いていないことがわかりました。したがって、可能であれば、スニペットだけでなく完全なコードを提供してください。

ファイルの設定は常に同じですが、さまざまなバリエーションがあります (例: Yellowst.Nat.Park.D12P55.DMS.3248.jpg)。

  • 地名で始まり、さまざまな文字列を検索して置換する必要があります ("Yellowst.Nat.Park" -> "Yellowstone National Park")
  • 次に、形式を変更する必要がある 2 つの数値が続きます (D12P55 -> [12x55])。それらは常に「D」の後に 2 つの数字、「P」、そして再び 2 つの数字が続く形式で設定されます。
  • そして、それはランダムな文字列で終わり、数字、文字などである可能性があり、すべて行かなければなりません。それらは形式と長さが異なり、パターンはありません。

基本的には「Yellowst.Nat.Park.D12P55.DMS.3248.jpg」から「Yellowstone National Park [02x03].jpg」に行きたいのですが、あとからテキストを追加したいのでスペースで終わりたいです。

これを行うための最良の方法は、最初の部分の検索と置換を繰り返すことのように思えます。それぞれの用語の束に置き換える必要がある一連の用語のリストを作成します。数値形式の検出が続き、その後のランダム文字列の削除で終了します。

0 投票する
1 に答える
126 参照

batch-file - 単純なルールに基づいてファイル名を変換する

たとえば、「This IsGood 1.1.png」から「tig11.png」にファイル名をバッチでトリミングしたい

条件は、スクリプトがファイル名からすべての大文字を取得し、それらを小文字に変換してから、スペースを含まないトリミングされたファイル名を形成することです...

このタスクを達成するのを手伝ってください..ありがとう!

0 投票する
2 に答える
6256 参照

amazon-s3 - Amazon s3のファイルの名前変更と上書き、推奨事項とリスク

2種類のファイル名を持つバケットがあります。

  1. [Bucket]/[file]
  2. [Bucket]/[folder]/[file]

たとえば、次のようになります。

  1. MyBucket/bar
  2. MyBucket/foo/bar

[Bucket]/[folder]/[file]すべてのファイルの名前をファイルに変更したい[Bucket]/[file](したがって、ファイルを上書き/破棄したい[Bucket]/[file])。
前の例のように、私はなりたいですMyBucket/foo/barMyBucket/barそしてオリジナルを上書き/ダスカードしますMyBucket/bar)。

私は2つの方法を試しました:

  1. s3cmdのmoveコマンドの使用:s3cmd mv s3://MyBucket/foo/bar s3://MyBucket/bar
  2. AmazonのSDKforphpの使用:rename(s3://MyBucket/foo/bar, s3://MyBucket/bar)

どちらの方法も機能しているように見えますが、これを何千ものファイルのバッチプロセスとして実行する必要があることを考えると、
私の質問は次のとおりです。

  1. どちらの方法が好ましいですか?
  2. 他にもっと良い方法はありますか?
  3. 移動/名前変更の前に古いファイルを削除する必要がありますか?(それがなくても問題なく動作するようですが、関連するリスクを認識していない可能性があります)

ありがとうございました。

0 投票する
3 に答える
2262 参照

regex - データフレームのcolnamesで複数の検索と置換を実行します

95列のデータフレームがあり、下部のスニペットのように、単純な正規表現を使用してそれらの多くの名前をバッチ変更したいのですが、そのような行は最大30行あります。検索正規表現に一致しないその他の列は、そのままにしておく必要があります。

****例:names(tr)= c('foo'、'bar'、'xxx_14'、'xxx_2001'、'yyy_76'、'baz'、'zzz_22'、...)****

私は25gsub()の壁から始めました-粗雑ですが効果的です:

@Joshua:mapplyは機能しません。ベクトル化するのはもっと複雑で、不可能であることがわかります。names(tr)には他の列が含まれており、これらのパターンが発生した場合、定義した正確な順序は言うまでもなく、すべてが発生したとは限りません。したがって、2を試してください:

誰かが私のためにこれを修正できますか?


編集:私はこの主題に関するSOとRのドキュメントを1日以上読んだのですが、何も見つかりませんでした...それを投稿すると、「[r]翻訳テーブル」を検索することを考え、xlateを見つけます。これは、 grep / sub/gsubのドキュメントのどこにも記載されていません。

  1. base/gsubfn/data.table検索と置換の指示を1つ書くことができるものなどはありますか?(辞書や翻訳テーブルのように)

  2. 私の不格好な構文をtrへの参照による呼び出しになるように改善できますか?(df全体の一時コピーを作成してはいけません)


EDIT2:読んだ後の私の最善の努力は:

ディクショナリアプローチ(xlate)は部分的な答えかもしれませんが、正規表現はターミナル(たとえば、「_ 14 $」)でなければならないため、これは単純な変換テーブル以上のものです。

gsub()またはstrsplit()を使用して'_'で分割し、最後のコンポーネントでxlate変換を実行してから、それらを一緒にpaste()することができます。よりクリーンな1/2行のイディオムを探しています。

または、gsub()の壁を使用します。

0 投票する
1 に答える
6161 参照

batch-file - ファイル名変更バッチ スクリプト

一連のファイルの名前を変更しようとしていますが、手動またはバッチ スクリプトで変更できます。バッチ スクリプトは非常に簡単です。

フォルダー内のすべてのファイルの名前を姓 + インデックスに変更するスクリプトが必要です。したがって、出力は sample1.exe のようになり、sample は姓で、インデックスは 1 です。重複を避けるために、各ファイルに名前を付けるたびにこのインデックスをインクリメントする必要もあります。私はグーグルを検索しましたが、これらのいずれかをまとめるのに十分な知識がありません. 誰か提案はありますか?

0 投票する
1 に答える
627 参照

encryption - ファイルの名前変更/移動/ハッシュのバッチ

フラット構造に移動し、同時に名前を変更する必要がある複数のファイルを含む高度に構造化された階層ディレクトリがあります。元のパスと名前は、新しいパスと名前とともにログに記録され、最終的にデータベースにロードされる必要があります。最後に、名前が変更された各ファイルは、一意の推測できない(つまり、暗号化またはハッシュ化された)ファイル名を取得する必要があります。名前が変更されたファイルが新しいディレクトリ構造に移動されるとき、各ディレクトリ内のファイルの数も制限したいので、各ディレクトリはその名前の連番で作成され、ファイルは最大になるまでそこにロードされます名前に次の連続番号が付いた新しいディレクトリにロールインする前に、ファイルの数(例:255)に達しました。

これを行うツール/ソフトウェアはありますか?私はいくつかの初期調査を行いましたが、次の基準は何も思いつきませんでした。

  • バッチの名前変更と代替(フラット)構造へのコピー
  • ファイル名をハッシュ/暗号化し、一意性を確保します
  • フォルダに順番に名前を付け、ファイル数を制限する
  • 各ファイルの元の名前とパス、および新しい(暗号化された)名前とパスをログに記録します
0 投票する
2 に答える
172 参照

windows - Windows フォルダー内のファイル名を変更する

こんにちは、Windows マシンのいくつかのフォルダーのファイル名を変更しようとしています。

ファイル名が大文字の例で始まるファイルがたくさんあります

「Hello.html」ですが、それを「hello.html」に変更したいのですが、何千ものファイルがあるので、手動で変更することはできません。スクリプトを探しています。開始するための助けが必要で、何から始めればよいですか。

私は Linux マシンにアクセスできます。そこにファイルをコピーしてスクリプトを実行するだけです。Linux または Windows 環境のいずれかで開始するように誰かが私を案内してくれると本当にありがたいです。

0 投票する
1 に答える
142 参照

excel - 小数点なしで提供される Excel の価格表

価格表が小数点なしで提供されているのは奇妙ですか? たとえば、23 x 42 の製品は 114 と表示されますが、実際には 11.40 になるはずです。別の測定値は 28 x 48 で、マトリックスによると 696 ですが、69.6 のはずです。

  1. なぜ彼らは何らかの理由でこれを行うのでしょうか (これを期待する理由を理解するためです)
  2. Excel で右から 1 つのスペースに小数点を追加する簡単な方法はありますか?

これを手動で行うだけですが、何千もの製品があります。

0 投票する
1 に答える
5841 参照

if-statement - Windowsバッチファイルの++ FORループ内のIF EXISTチェック後にファイルの名前を変更しますか?

私はウェブを精査しましたが、探している正確なコードを見つけることができませんでした...非常によく似たものを見つけましたが、それらは機能しませんでした。これが私が欲しいものの大まかなアイデアです:

基本的に、ファイル名が存在するかどうかを確認し、存在する場合は、その名前を filename0001 に変更します。それ以降、バッチが実行されるたびに、filename#### が見つかった場合は、その後に名前が変更されます。もちろん、これが最初に実行された後、ファイル名が存在することが判明すると、名前が filename0002 などに変更されます。

ありがとうございました!!