user127505: I have a ton of old backed up wallet.dat files with zero BTC in them, but (probably) the records of my old Bitcoin transactions in them, which I'm trying to extract as CSV data.
I already looked at the command line options and found no instance of "extract" or "CSV", but is there some way to do something simple on the command line such as:
bitcoincore.exe --extract-csv-transactions-from-wallet=wallet1.dat -o wallet1.csv
bitcoincore.exe --extract-csv-transactions-from-wallet=wallet2.dat -o wallet2.csv
bitcoincore.exe --extract-csv-transactions-from-wallet=wallet3.dat -o wallet3.csv
...

?
My current method of manually loading four of them in at a time, manually adding them to the config file and starting Bitcoin Core, is a nightmare. It has been saying "Rescanning" for an hour now with no sign of it ever stopping and that's just for the first batch of four wallets... out of tons.
This is going to be a multi-weeker nightmare project, isn't it?

user48884: There is no way to export all of the transactions to a csv. However you can get the transaction in JSON using the listtransactions RPC.
Bitcoin Core will always rescan when a wallet is loaded because it must be sure that it has seen all of the wallet's transactions so that the user does not appear to have lost any funds. For old wallets, it ends up having to rescan a significant portion of the blockchain. There is no way to disable this behavior.
However, if you are sure that no rescan is necessary, it is possible to force Bitcoin Core to not have any blockchain data so that the rescan completes quickly and does not do anything. You can do this by removing all blockchain data from the datadir and starting Bitcoin Core with -connect=0. This will force Bitcoin Core to not connect to the network so it will not be able to download the blockchain. Additionally, because you have removed any previous blockchain data, Bitcoin Core will be reset to the genesis block as the only block in the blockchain. Loading a wallet at this point will result in no rescan.
Lastly, to speed things up, instead of constantly stopping and starting Bitcoin Core to load new wallets, you can use the loadwallet RPC to load a wallet, and unloadwallet to unload the wallet when you are done with it.
Some python-like pseudocode that shows what this would look like:
for wallet in wallets:
    rpc.loadwallet(wallet)
    print(rpc.listtransactions())
    rpc.unloadwallet(wallet)


127505: <p>I have a ton of old backed up <code>wallet.dat</code> files with zero BTC in them, but (probably) the records of my old Bitcoin transactions in them, which I'm trying to extract as CSV data.</p>
<p>I already looked at the command line options and found no instance of &quot;extract&quot; or &quot;CSV&quot;, but is there some way to do something simple on the command line such as:</p>
<pre><code>bitcoincore.exe --extract-csv-transactions-from-wallet=wallet1.dat -o wallet1.csv
bitcoincore.exe --extract-csv-transactions-from-wallet=wallet2.dat -o wallet2.csv
bitcoincore.exe --extract-csv-transactions-from-wallet=wallet3.dat -o wallet3.csv
...
</code></pre>
<p>?</p>
<p>My current method of manually loading four of them in at a time, manually adding them to the config file and starting Bitcoin Core, is a nightmare. It has been saying &quot;Rescanning&quot; for an hour now with no sign of it ever stopping and that's just for the first batch of four wallets... out of tons.</p>
<p>This is going to be a multi-weeker nightmare project, isn't it?</p>
 48884: <p>There is no way to export all of the transactions to a csv. However you can get the transaction in JSON using the <code>listtransactions</code> RPC.</p>
<p>Bitcoin Core will always rescan when a wallet is loaded because it must be sure that it has seen all of the wallet's transactions so that the user does not appear to have lost any funds. For old wallets, it ends up having to rescan a significant portion of the blockchain. There is no way to disable this behavior.</p>
<p>However, if you are sure that no rescan is necessary, it is possible to force Bitcoin Core to not have any blockchain data so that the rescan completes quickly and does not do anything. You can do this by removing all blockchain data from the datadir and starting Bitcoin Core with <code>-connect=0</code>. This will force Bitcoin Core to not connect to the network so it will not be able to download the blockchain. Additionally, because you have removed any previous blockchain data, Bitcoin Core will be reset to the genesis block as the only block in the blockchain. Loading a wallet at this point will result in no rescan.</p>
<p>Lastly, to speed things up, instead of constantly stopping and starting Bitcoin Core to load new wallets, you can use the <code>loadwallet</code> RPC to load a wallet, and <code>unloadwallet</code> to unload the wallet when you are done with it.</p>
<p>Some python-like pseudocode that shows what this would look like:</p>
<pre><code>for wallet in wallets:
    rpc.loadwallet(wallet)
    print(rpc.listtransactions())
    rpc.unloadwallet(wallet)
</code></pre>
