No.3ベストアンサー
- 回答日時:
単純にバッチファイルに許されている機能のみでという意味では不可能です。
1.ファイルサーバ側に何らかのRSHサーバかSSHサーバを立てる。
2.WSHを使ってリモートで動かせるバッチジョブを記述する。
3.RSH相当の機能を持つサービスプログラムを開発する。
恐らく、この要件で一番使われている手法は1.です。
調べれば、結構ネットでも情報が集まります。
SFUやCygwinを使うもよし、Win32の独自RSHサーバ(数は非常に少ないですが)を使うもよしです。
2.は、外部のツールを使わなくても済みますが、OSによって許されていることが違っていたり、セキュリティ関連のポリシーをいろいろ変更しないと(つまりレジストリをいじる)リモートからの操作はできない等、スクリプトを書くよりも環境構築でまず敷居が高いでしょう。また、この場合処理部分は、VBScriptやJScriptで記述する必要があるため、そちらのスキルも必要になります。
まあ、コード自体は単純なもので済みますが。
3.は普通は考えませんね。
サービスとソケットプログラミングの勉強がしたいならいいかもしれませんが。
以上 ご参考までに。
No.2
- 回答日時:
この質問が、いわゆるネットワークドライブにあるファイルを、自分のPCから操作したバッチファイルで操作するという話であれば、残念ながらこのアプローチでは問題の解決になっていません。
これは、ネットワークの先にあるデータを加工・抽出するという処理に対して、結局はすべてのデータをこちら側に読み込む必要があるからです。
むしろ、ネットワークの負荷という意味では増えることになります。
質問者さんのやろうとしていることを、単純にフローにすると以下のようになります。
1.バッチが起動される。
2.加工処理のコマンド(sedでも、for文でもなんでもいいですが)が、リモートのファイルを読み込み、加工処理を行う。このときすでにデータは全てネットワークを渡って届いている。
3.加工した結果が、ファイル名を変えてリモートへ書き込まれる。
4.リモートから、ローカルへコピーする。
まあ、2の出力先を、ローカルにすれば余計な負荷は減りますが、それでもネットワーク側からみれば、単純コピーとほぼ同じだけのデータが流れていることになります。
あらゆるプログラムは、例外なく実際に処理するために自分のメモリ上にデータが存在しなければなりません。ゆえに、ローカルマシン上で加工処理を行った場合、結果には出てこなくても、全てのデータは一旦ローカルのマシンのメモリ上に転送されているということです。単にディスク上に保管されていないというだけです。
この場合、本当にネットワークに流れるデータ量を減らしたいのであれば、ネットワーク越しに何とかするのではなく、データを置いてあるマシン上で、データの圧縮なり、加工なりを行う必要があります。
No.1
- 回答日時:
CSVの加工については、SEDで対応できる範囲ならばなんとかなるでしょうが、恐らくはperlなどで簡単なプログラムを作る必要があると思います。
また、質問からすると、加工する内容も作業日によって異なるような気がしますが、どうでしょう。なお、以下は、ファイル名を日付.csvにしてコピーするバッチの一例です(win2000/XPのみ)、日付はyyyymmdd(20050815)の形式になります。形式を変えたければ、一行目の最後の部分、DATES=の中をいじってください、%%aが年、%%bが月、%%cが日付です。
for /F "tokens=1-3 delims=/ " %%a in ('date /t') do set DATES=%%a%%b%%c
ren file.csv %DATES%.csv
copy %DATES%.csv C:\ (コピー先)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) DOSコマンドに詳しい方、お知恵をお貸しください 5 2022/11/04 20:55
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
- Photoshop(フォトショップ) アプリ「フォト」と編集したファイルの紐づけを切り離したい。 1 2023/08/01 16:42
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MATLAB グローバル変数の宣言
-
VBAでCSVファイルの特定行を書...
-
ExcelをCSV書き出す場合のシー...
-
VBAで巨大なファイルの途中から...
-
openした後、closeしないでプロ...
-
perlで容量の大きいCSVファイル...
-
JavaでCSVファイルを高速に読む...
-
cgiで表示するhtmlページ内でバ...
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
-
ADOによるCSVファイルからのデ...
-
Perlでファイルの列を削除する。
-
perlであるcsvファイルのキーワ...
-
バッチファイルの作り方(CSV→...
-
fopenでディレクトリ内の全ファ...
-
Perlで特定文字列から特定文字...
-
vba dir の相対パス
-
Perlで特定行から特定行までを...
-
awkスクリプトでダブルクォーテ...
-
C言語のバイナリモードでのfsca...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCSVファイルの特定行を書...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
VBAで巨大なファイルの途中から...
-
openした後、closeしないでプロ...
-
エクセルVBA コードが同じでも...
-
ReadLineでの読み出し行を指定する
-
JavaでCSVファイルを高速に読む...
-
perlで、後ろの行を読んで、前...
-
Perlの変数に文字数制限(容量...
-
エクセルVBAでCSVファイ...
-
perlにて2つのファイル比較
-
MATLAB グローバル変数の宣言
-
C#でCSVファイルを逐一更新したい
-
CSVが可変長の場合の検索方法
-
他のサーバーにあるファイルの...
-
動画像から静止画を取り出すには
-
perlで容量の大きいCSVファイル...
-
外部サーバーにあるファイルを...
-
1ファイルずつ読み込みたい
おすすめ情報